DBA Data[Home] [Help]

PACKAGE BODY: APPS.HZ_ADAPTERS_PKG

Source


1 PACKAGE BODY HZ_ADAPTERS_PKG AS
2 /*$Header: ARHADPTB.pls 115.0 2003/08/13 23:47:14 acng noship $ */
3 
4   PROCEDURE Insert_Row(
5     x_adapter_id                     IN OUT NOCOPY NUMBER,
6     x_adapter_content_source         IN VARCHAR2,
7     x_enabled_flag                   IN VARCHAR2,
8     x_synchronous_flag               IN VARCHAR2,
9     x_invoke_method_code             IN VARCHAR2,
10     x_message_format_code            IN VARCHAR2,
11     x_host_address                   IN VARCHAR2,
12     x_username                       IN VARCHAR2,
13     x_encrypted_password             IN VARCHAR2,
14     x_maximum_batch_size             IN NUMBER,
15     x_default_batch_size             IN NUMBER,
16     x_default_replace_status_level   IN VARCHAR2,
17     x_object_version_number          IN NUMBER
18   ) IS
19 
20     l_success                               VARCHAR2(1) := 'N';
21     l_primary_key_passed                    BOOLEAN := FALSE;
22 
23   BEGIN
24 
25     IF x_adapter_id IS NOT NULL AND
26        x_adapter_id <> fnd_api.g_miss_num
27     THEN
28         l_primary_key_passed := TRUE;
29     END IF;
30 
31     WHILE l_success = 'N' LOOP
32       BEGIN
33         INSERT INTO HZ_ADAPTERS(
34           adapter_id,
35           adapter_content_source,
36           enabled_flag,
37           synchronous_flag,
38           invoke_method_code,
39           message_format_code,
40           host_address,
41           username,
42           encrypted_password,
43           maximum_batch_size,
44           default_batch_size,
45           default_replace_status_level,
46           last_update_date,
47           last_updated_by,
48           creation_date,
49           created_by,
50           last_update_login,
51           object_version_number
52         ) VALUES (
53           DECODE(x_adapter_id, fnd_api.g_miss_num, hz_adapters_s.NEXTVAL,
54                  NULL, hz_adapters_s.NEXTVAL, x_adapter_id),
55           DECODE(x_adapter_content_source,
56                  fnd_api.g_miss_char, NULL, x_adapter_content_source),
57           DECODE(x_enabled_flag,
58                  fnd_api.g_miss_char, NULL, x_enabled_flag),
59           DECODE(x_synchronous_flag,
60                  fnd_api.g_miss_char, NULL, x_synchronous_flag),
61           DECODE(x_invoke_method_code,
62                  fnd_api.g_miss_char, NULL, x_invoke_method_code),
63           DECODE(x_message_format_code,
64                  fnd_api.g_miss_char, NULL, x_message_format_code),
65           DECODE(x_host_address,
66                  fnd_api.g_miss_char, NULL, x_host_address),
67           DECODE(x_username,
68                  fnd_api.g_miss_char, NULL, x_username),
69           DECODE(x_encrypted_password,
70                  fnd_api.g_miss_char, NULL, x_encrypted_password),
71           DECODE(x_maximum_batch_size,
72                  fnd_api.g_miss_num, NULL, x_maximum_batch_size),
73           DECODE(x_default_batch_size,
74                  fnd_api.g_miss_num, NULL, x_default_batch_size),
75           DECODE(x_default_replace_status_level,
76                  fnd_api.g_miss_char, NULL, x_default_replace_status_level),
77           hz_utility_v2pub.last_update_date,
78           hz_utility_v2pub.last_updated_by,
79           hz_utility_v2pub.creation_date,
80           hz_utility_v2pub.created_by,
81           hz_utility_v2pub.last_update_login,
82           DECODE(x_object_version_number, fnd_api.g_miss_num, NULL, x_object_version_number)
83        ) RETURNING
84          adapter_id
85        INTO
86          x_ADAPTER_ID;
87 
88        l_success := 'Y';
89 
90      EXCEPTION
91        WHEN DUP_VAL_ON_INDEX THEN
92          IF INSTRB(SQLERRM, 'HZ_ADAPTERS_U1') <> 0 OR
93             INSTRB(SQLERRM, 'HZ_ADAPTERS_PK') <> 0
94          THEN
95            IF l_primary_key_passed THEN
96              fnd_message.set_name('AR', 'HZ_API_DUPLICATE_COLUMN');
97              fnd_message.set_token('COLUMN', 'adapter_id');
98              fnd_msg_pub.add;
99              RAISE fnd_api.g_exc_error;
100            END IF;
101 
102            DECLARE
103              l_temp_adapter_id   NUMBER;
104              l_max_adapter_id    NUMBER;
105            BEGIN
106              l_temp_adapter_id := 0;
107              SELECT max(ADAPTER_ID) INTO l_max_adapter_id
108              FROM HZ_ADAPTERS;
109              WHILE l_temp_adapter_id <= l_max_adapter_id LOOP
110                SELECT HZ_ADAPTERS_S.NEXTVAL
111                INTO l_temp_adapter_id FROM dual;
112              END LOOP;
113            END;
114          ELSE
115              RAISE;
116          END IF;
117       END;
118     END LOOP;
119   End Insert_Row;
120 
121   PROCEDURE Update_Row(
122     x_rowid                          IN OUT NOCOPY VARCHAR2,
123     x_adapter_id                     IN NUMBER,
124     x_adapter_content_source         IN VARCHAR2,
125     x_enabled_flag                   IN VARCHAR2,
126     x_synchronous_flag               IN VARCHAR2,
127     x_invoke_method_code             IN VARCHAR2,
128     x_message_format_code            IN VARCHAR2,
129     x_host_address                   IN VARCHAR2,
130     x_username                       IN VARCHAR2,
131     x_encrypted_password             IN VARCHAR2,
132     x_maximum_batch_size             IN NUMBER,
133     x_default_batch_size             IN NUMBER,
134     x_default_replace_status_level   IN VARCHAR2,
135     x_object_version_number          IN NUMBER
136   ) IS
137 
138   BEGIN
139 
140     UPDATE hz_adapters
141     SET   adapter_id = DECODE(x_adapter_id, NULL, adapter_id,
142                               fnd_api.g_miss_num, NULL, x_adapter_id),
143           adapter_content_source = DECODE(x_adapter_content_source,
144                             NULL, adapter_content_source,
145                             fnd_api.g_miss_char, NULL, x_adapter_content_source),
146           enabled_flag = DECODE(x_enabled_flag, NULL, enabled_flag,
147                             fnd_api.g_miss_char, NULL, x_enabled_flag),
148           synchronous_flag = DECODE(x_synchronous_flag, NULL, synchronous_flag,
149                             fnd_api.g_miss_char, NULL, x_synchronous_flag),
150           invoke_method_code = DECODE(x_invoke_method_code, NULL, invoke_method_code,
151                             fnd_api.g_miss_char, NULL, x_invoke_method_code),
152           message_format_code = DECODE(x_message_format_code, NULL, message_format_code,
153                             fnd_api.g_miss_char, NULL, x_message_format_code),
154           host_address = DECODE(x_host_address, NULL, host_address,
155                             fnd_api.g_miss_char, NULL, x_host_address),
156           username = DECODE(x_username, NULL, username,
157                             fnd_api.g_miss_char, NULL, x_username),
158           encrypted_password = DECODE(x_encrypted_password, NULL, encrypted_password,
159                             fnd_api.g_miss_char, NULL, x_encrypted_password),
160           maximum_batch_size = DECODE(x_maximum_batch_size, NULL, maximum_batch_size,
161                             fnd_api.g_miss_num, NULL, x_maximum_batch_size),
162           default_batch_size = DECODE(x_default_batch_size, NULL, default_batch_size,
163                             fnd_api.g_miss_num, NULL, x_default_batch_size),
164           default_replace_status_level = DECODE(x_default_replace_status_level,
165                                                 NULL, default_replace_status_level,
166                                                 fnd_api.g_miss_char,
167                                                 NULL, x_default_replace_status_level),
168           last_update_date = hz_utility_v2pub.last_update_date,
169           last_updated_by = hz_utility_v2pub.last_updated_by,
170           creation_date = creation_date,
171           created_by = created_by,
172           last_update_login = hz_utility_v2pub.last_update_login,
173           object_version_number = DECODE(x_object_version_number,
174                                          NULL, object_version_number,
175                                          fnd_api.g_miss_num, NULL,
176                                          x_object_version_number)
177 
178     WHERE rowid = x_rowid;
179 
180     If (SQL%NOTFOUND) then
181         RAISE NO_DATA_FOUND;
182     End If;
183   END Update_Row;
184 
185   PROCEDURE Lock_Row(
186     x_rowid                          IN OUT NOCOPY VARCHAR2,
187     x_adapter_id                     IN NUMBER,
188     x_adapter_content_source         IN VARCHAR2,
189     x_enabled_flag                   IN VARCHAR2,
190     x_synchronous_flag               IN VARCHAR2,
191     x_invoke_method_code             IN VARCHAR2,
192     x_message_format_code            IN VARCHAR2,
193     x_host_address                   IN VARCHAR2,
194     x_username                       IN VARCHAR2,
195     x_encrypted_password             IN VARCHAR2,
196     x_maximum_batch_size             IN NUMBER,
197     x_default_batch_size             IN NUMBER,
198     x_default_replace_status_level   IN VARCHAR2,
199     x_last_update_date               IN DATE,
200     x_last_updated_by                IN NUMBER,
201     x_creation_date                  IN DATE,
202     x_created_by                     IN NUMBER,
203     x_last_update_login              IN NUMBER,
204     x_object_version_number          IN NUMBER
205   ) IS
206 
207     CURSOR c IS
208       SELECT *
209       FROM   hz_adapters
210       WHERE  ROWID = x_rowid
211       FOR UPDATE NOWAIT;
212 
213     recinfo c%ROWTYPE;
214   BEGIN
215     OPEN c;
216     FETCH c INTO recinfo;
217     IF (C%NOTFOUND) THEN
218       CLOSE c;
219       fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
220       app_exception.raise_exception;
221     END IF;
222     CLOSE c;
223 
224     IF (((recinfo.adapter_id = x_adapter_id)
225          OR ((recinfo.adapter_id IS NULL)
226               AND (x_adapter_id IS NULL)))
227         AND ((recinfo.adapter_content_source = x_adapter_content_source)
228             OR ((recinfo.adapter_content_source IS NULL)
229                  AND (x_adapter_content_source IS NULL)))
230         AND ((recinfo.enabled_flag = x_enabled_flag)
231             OR ((recinfo.enabled_flag IS NULL)
232                  AND (x_enabled_flag IS NULL)))
233         AND ((recinfo.synchronous_flag = x_synchronous_flag)
234             OR ((recinfo.synchronous_flag IS NULL)
235                  AND (x_synchronous_flag IS NULL)))
236         AND ((recinfo.invoke_method_code = x_invoke_method_code)
237             OR ((recinfo.invoke_method_code IS NULL)
238                  AND (x_invoke_method_code IS NULL)))
239         AND ((recinfo.message_format_code = x_message_format_code)
240             OR ((recinfo.message_format_code IS NULL)
241                  AND (x_message_format_code IS NULL)))
242         AND ((recinfo.host_address = x_host_address)
243             OR ((recinfo.host_address IS NULL)
244                  AND (x_host_address IS NULL)))
245         AND ((recinfo.username = x_username)
246             OR ((recinfo.username IS NULL)
247                  AND (x_username IS NULL)))
248         AND ((recinfo.encrypted_password = x_encrypted_password)
249             OR ((recinfo.encrypted_password IS NULL)
250                  AND (x_encrypted_password IS NULL)))
251         AND ((recinfo.maximum_batch_size = x_maximum_batch_size)
252             OR ((recinfo.maximum_batch_size IS NULL)
253                  AND (x_maximum_batch_size IS NULL)))
254         AND ((recinfo.default_batch_size = x_default_batch_size)
255             OR ((recinfo.default_batch_size IS NULL)
256                  AND (x_default_batch_size IS NULL)))
257         AND ((recinfo.default_replace_status_level = x_default_replace_status_level)
258             OR ((recinfo.default_replace_status_level IS NULL)
259                  AND (x_default_replace_status_level IS NULL)))
260         AND ((recinfo.last_update_date = x_last_update_date)
261              OR ((recinfo.last_update_date IS NULL)
262                  AND (x_last_update_date IS NULL)))
263         AND ((recinfo.last_updated_by = x_last_updated_by)
264              OR ((recinfo.last_updated_by IS NULL)
265                  AND (x_last_updated_by IS NULL)))
266         AND ((recinfo.creation_date = x_creation_date)
267              OR ((recinfo.creation_date IS NULL)
268                  AND (x_creation_date IS NULL)))
269         AND ((recinfo.created_by = x_created_by)
270              OR ((recinfo.created_by IS NULL)
271                  AND (x_created_by IS NULL)))
272         AND ((recinfo.last_update_login = x_last_update_login)
273              OR ((recinfo.last_update_login IS NULL)
274                  AND (x_last_update_login IS NULL)))
275         AND ((recinfo.object_version_number = x_object_version_number)
276              OR ((recinfo.object_version_number IS NULL)
277                  AND (x_object_version_number IS NULL)))
278     )
279     THEN
280       RETURN;
281     ELSE
282       fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
283       app_exception.raise_exception;
284     END IF;
285   END lock_row;
286 
287 
288   PROCEDURE delete_row (x_adapter_id IN NUMBER) IS
289   BEGIN
290     DELETE FROM hz_adapters
291     WHERE adapter_id = x_adapter_id;
292 
293     IF (SQL%NOTFOUND) THEN
294       RAISE NO_DATA_FOUND;
295     END IF;
296   END delete_row;
297 
298 END HZ_ADAPTERS_PKG;