DBA Data[Home] [Help]

PACKAGE BODY: APPS.HZ_WORD_REPLACEMENTS_PKG

Source


1 PACKAGE BODY HZ_WORD_REPLACEMENTS_PKG as
2 /*$Header: ARHWRSTB.pls 120.4 2005/10/30 04:23:21 appldev ship $ */
3 
4 
5 PROCEDURE Insert_Row(
6                   x_Rowid               IN OUT NOCOPY    VARCHAR2,
7                   x_ORIGINAL_WORD                 VARCHAR2,
8                   x_REPLACEMENT_WORD              VARCHAR2,
9                   x_TYPE                          VARCHAR2,
10                   x_COUNTRY_CODE                  VARCHAR2,
11                   x_LAST_UPDATE_DATE              DATE,
12                   x_LAST_UPDATED_BY               NUMBER,
13                   x_CREATION_DATE                 DATE,
14                   x_CREATED_BY                    NUMBER,
15                   x_LAST_UPDATE_LOGIN             NUMBER,
16                   x_ATTRIBUTE_CATEGORY            VARCHAR2,
17                   x_ATTRIBUTE1                    VARCHAR2,
18                   x_ATTRIBUTE2                    VARCHAR2,
19                   x_ATTRIBUTE3                    VARCHAR2,
20                   x_ATTRIBUTE4                    VARCHAR2,
21                   x_ATTRIBUTE5                    VARCHAR2,
22                   x_ATTRIBUTE6                    VARCHAR2,
23                   x_ATTRIBUTE7                    VARCHAR2,
24                   x_ATTRIBUTE8                    VARCHAR2,
25                   x_ATTRIBUTE9                    VARCHAR2,
26                   x_ATTRIBUTE10                   VARCHAR2,
27                   x_ATTRIBUTE11                   VARCHAR2,
28                   x_ATTRIBUTE12                   VARCHAR2,
29                   x_ATTRIBUTE13                   VARCHAR2,
30                   x_ATTRIBUTE14                   VARCHAR2,
31                   x_ATTRIBUTE15                   VARCHAR2
32  ) IS
33    CURSOR C IS SELECT rowid FROM HZ_WORD_REPLACEMENTS
34             WHERE TYPE = x_TYPE
35             AND   ORIGINAL_WORD =  x_ORIGINAL_WORD;
36 BEGIN
37    INSERT INTO HZ_WORD_REPLACEMENTS(
38            ORIGINAL_WORD,
39            REPLACEMENT_WORD,
40            TYPE,
41            COUNTRY_CODE,
42            LAST_UPDATE_DATE,
43            LAST_UPDATED_BY,
44            CREATION_DATE,
45            CREATED_BY,
46            LAST_UPDATE_LOGIN,
47            ATTRIBUTE_CATEGORY,
48            ATTRIBUTE1,
49            ATTRIBUTE2,
50            ATTRIBUTE3,
51            ATTRIBUTE4,
52            ATTRIBUTE5,
53            ATTRIBUTE6,
54            ATTRIBUTE7,
55            ATTRIBUTE8,
56            ATTRIBUTE9,
57            ATTRIBUTE10,
58            ATTRIBUTE11,
59            ATTRIBUTE12,
60            ATTRIBUTE13,
61            ATTRIBUTE14,
62            ATTRIBUTE15
63           )
64           VALUES (
65            decode( x_ORIGINAL_WORD, FND_API.G_MISS_CHAR, NULL, x_ORIGINAL_WORD),
66            decode( x_REPLACEMENT_WORD, FND_API.G_MISS_CHAR, NULL, x_REPLACEMENT_WORD),
67            decode( x_TYPE, FND_API.G_MISS_CHAR, NULL, x_TYPE),
68            decode( x_COUNTRY_CODE, FND_API.G_MISS_CHAR, NULL, x_COUNTRY_CODE),
69            decode( x_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL),x_LAST_UPDATE_DATE),
70            decode( x_LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL,x_LAST_UPDATED_BY),
71            decode( x_CREATION_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL),x_CREATION_DATE),
72            decode( x_CREATED_BY, FND_API.G_MISS_NUM, NULL,x_CREATED_BY),
73            decode( x_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL,x_LAST_UPDATE_LOGIN),
74            decode( x_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE_CATEGORY),
75            decode( x_ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE1),
76            decode( x_ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE2),
77            decode( x_ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE3),
78            decode( x_ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE4),
79            decode( x_ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE5),
80            decode( x_ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE6),
81            decode( x_ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE7),
82            decode( x_ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE8),
83            decode( x_ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE9),
84            decode( x_ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE10),
85            decode( x_ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE11),
86            decode( x_ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE12),
87            decode( x_ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE13),
88            decode( x_ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE14),
89            decode( x_ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL,x_ATTRIBUTE15)
90           );
91 
92    OPEN C;
93    FETCH C INTO x_Rowid;
94    If (C%NOTFOUND) then
95        CLOSE C;
96        RAISE NO_DATA_FOUND;
97    End If;
98 End Insert_Row;
99 
100 
101 
102 PROCEDURE Delete_Row(
103              x_TYPE                   VARCHAR2,
104              x_ORIGINAL_WORD          VARCHAR2
105  ) IS
106  BEGIN
107    DELETE FROM HZ_WORD_REPLACEMENTS
108     WHERE type = x_TYPE
109     AND   original_word = x_ORIGINAL_WORD;
110    If (SQL%NOTFOUND) then
111        RAISE NO_DATA_FOUND;
112    End If;
113  END Delete_Row;
114 
115 
116 PROCEDURE Update_Row(
117                   x_Rowid                         VARCHAR2,
118                   x_ORIGINAL_WORD                 VARCHAR2,
119                   x_REPLACEMENT_WORD              VARCHAR2,
120                   x_TYPE                          VARCHAR2,
121                   x_COUNTRY_CODE                  VARCHAR2,
122                   x_LAST_UPDATE_DATE              DATE,
123                   x_LAST_UPDATED_BY               NUMBER,
124                   x_CREATION_DATE                 DATE,
125                   x_CREATED_BY                    NUMBER,
126                   x_LAST_UPDATE_LOGIN             NUMBER,
127                   x_ATTRIBUTE_CATEGORY            VARCHAR2,
128                   x_ATTRIBUTE1                    VARCHAR2,
129                   x_ATTRIBUTE2                    VARCHAR2,
130                   x_ATTRIBUTE3                    VARCHAR2,
131                   x_ATTRIBUTE4                    VARCHAR2,
132                   x_ATTRIBUTE5                    VARCHAR2,
133                   x_ATTRIBUTE6                    VARCHAR2,
134                   x_ATTRIBUTE7                    VARCHAR2,
135                   x_ATTRIBUTE8                    VARCHAR2,
136                   x_ATTRIBUTE9                    VARCHAR2,
137                   x_ATTRIBUTE10                   VARCHAR2,
138                   x_ATTRIBUTE11                   VARCHAR2,
139                   x_ATTRIBUTE12                   VARCHAR2,
140                   x_ATTRIBUTE13                   VARCHAR2,
141                   x_ATTRIBUTE14                   VARCHAR2,
142                   x_ATTRIBUTE15                   VARCHAR2
143  ) IS
144 
145  BEGIN
146     Update HZ_WORD_REPLACEMENTS
147     SET
148              ORIGINAL_WORD = decode( x_ORIGINAL_WORD, FND_API.G_MISS_CHAR, NULL, x_ORIGINAL_WORD),
149              REPLACEMENT_WORD = decode( x_REPLACEMENT_WORD, FND_API.G_MISS_CHAR, NULL, x_REPLACEMENT_WORD),
150              TYPE = decode( x_TYPE, FND_API.G_MISS_CHAR, NULL, x_TYPE),
151              COUNTRY_CODE = decode( x_COUNTRY_CODE, FND_API.G_MISS_CHAR, NULL, x_COUNTRY_CODE),
152              LAST_UPDATE_DATE = decode( x_LAST_UPDATE_DATE, FND_API.G_MISS_DATE,LAST_UPDATE_DATE,x_LAST_UPDATE_DATE),
153              LAST_UPDATED_BY = decode( x_LAST_UPDATED_BY, FND_API.G_MISS_NUM,LAST_UPDATED_BY,x_LAST_UPDATED_BY),
154              -- Bug 3032780
155              /*
156              CREATION_DATE = decode( x_CREATION_DATE, FND_API.G_MISS_DATE,CREATION_DATE,x_CREATION_DATE),
157              CREATED_BY = decode( x_CREATED_BY, FND_API.G_MISS_NUM,CREATED_BY,x_CREATED_BY),
158              */
159              LAST_UPDATE_LOGIN = decode( x_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM,LAST_UPDATE_LOGIN,x_LAST_UPDATE_LOGIN),
160              ATTRIBUTE_CATEGORY = decode( x_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR,ATTRIBUTE_CATEGORY,x_ATTRIBUTE_CATEGORY),
161              ATTRIBUTE1 = decode( x_ATTRIBUTE1, FND_API.G_MISS_CHAR,ATTRIBUTE1,x_ATTRIBUTE1),
162              ATTRIBUTE2 = decode( x_ATTRIBUTE2, FND_API.G_MISS_CHAR,ATTRIBUTE2,x_ATTRIBUTE2),
163              ATTRIBUTE3 = decode( x_ATTRIBUTE3, FND_API.G_MISS_CHAR,ATTRIBUTE3,x_ATTRIBUTE3),
164              ATTRIBUTE4 = decode( x_ATTRIBUTE4, FND_API.G_MISS_CHAR,ATTRIBUTE4,x_ATTRIBUTE4),
165              ATTRIBUTE5 = decode( x_ATTRIBUTE5, FND_API.G_MISS_CHAR,ATTRIBUTE5,x_ATTRIBUTE5),
166              ATTRIBUTE6 = decode( x_ATTRIBUTE6, FND_API.G_MISS_CHAR,ATTRIBUTE6,x_ATTRIBUTE6),
167              ATTRIBUTE7 = decode( x_ATTRIBUTE7, FND_API.G_MISS_CHAR,ATTRIBUTE7,x_ATTRIBUTE7),
168              ATTRIBUTE8 = decode( x_ATTRIBUTE8, FND_API.G_MISS_CHAR,ATTRIBUTE8,x_ATTRIBUTE8),
169              ATTRIBUTE9 = decode( x_ATTRIBUTE9, FND_API.G_MISS_CHAR,ATTRIBUTE9,x_ATTRIBUTE9),
170              ATTRIBUTE10 = decode( x_ATTRIBUTE10, FND_API.G_MISS_CHAR,ATTRIBUTE10,x_ATTRIBUTE10),
171              ATTRIBUTE11 = decode( x_ATTRIBUTE11, FND_API.G_MISS_CHAR,ATTRIBUTE11,x_ATTRIBUTE11),
172              ATTRIBUTE12 = decode( x_ATTRIBUTE12, FND_API.G_MISS_CHAR,ATTRIBUTE12,x_ATTRIBUTE12),
173              ATTRIBUTE13 = decode( x_ATTRIBUTE13, FND_API.G_MISS_CHAR,ATTRIBUTE13,x_ATTRIBUTE13),
174              ATTRIBUTE14 = decode( x_ATTRIBUTE14, FND_API.G_MISS_CHAR,ATTRIBUTE14,x_ATTRIBUTE14),
175              ATTRIBUTE15 = decode( x_ATTRIBUTE15, FND_API.G_MISS_CHAR,ATTRIBUTE15,x_ATTRIBUTE15)
176     where rowid = X_RowId;
177 
178     If (SQL%NOTFOUND) then
179         RAISE NO_DATA_FOUND;
180     End If;
181  END Update_Row;
182 
183 
184 
185 PROCEDURE Lock_Row(
186                   x_Rowid                         VARCHAR2,
187                   x_ORIGINAL_WORD                 VARCHAR2,
188                   x_REPLACEMENT_WORD              VARCHAR2,
189                   x_TYPE                          VARCHAR2,
190                   x_COUNTRY_CODE                  VARCHAR2,
191                   x_LAST_UPDATE_DATE              DATE,
192                   x_LAST_UPDATED_BY               NUMBER,
193                   x_CREATION_DATE                 DATE,
194                   x_CREATED_BY                    NUMBER,
195                   x_LAST_UPDATE_LOGIN             NUMBER,
196                   x_ATTRIBUTE_CATEGORY            VARCHAR2,
197                   x_ATTRIBUTE1                    VARCHAR2,
198                   x_ATTRIBUTE2                    VARCHAR2,
199                   x_ATTRIBUTE3                    VARCHAR2,
200                   x_ATTRIBUTE4                    VARCHAR2,
201                   x_ATTRIBUTE5                    VARCHAR2,
202                   x_ATTRIBUTE6                    VARCHAR2,
203                   x_ATTRIBUTE7                    VARCHAR2,
204                   x_ATTRIBUTE8                    VARCHAR2,
205                   x_ATTRIBUTE9                    VARCHAR2,
206                   x_ATTRIBUTE10                   VARCHAR2,
207                   x_ATTRIBUTE11                   VARCHAR2,
208                   x_ATTRIBUTE12                   VARCHAR2,
209                   x_ATTRIBUTE13                   VARCHAR2,
210                   x_ATTRIBUTE14                   VARCHAR2,
211                   x_ATTRIBUTE15                   VARCHAR2
212  ) IS
213 
214    CURSOR C IS
215         SELECT *
216           FROM HZ_WORD_REPLACEMENTS
217          WHERE rowid = x_Rowid
218          FOR UPDATE of ORIGINAL_WORD NOWAIT;
219    Recinfo C%ROWTYPE;
220  BEGIN
221     OPEN C;
222     FETCH C INTO Recinfo;
223     If (C%NOTFOUND) then
224         CLOSE C;
225         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
226         APP_EXCEPTION.RAISE_EXCEPTION;
227     End If;
228     CLOSE C;
229     if (
230            (    ( Recinfo.ORIGINAL_WORD = x_ORIGINAL_WORD)
231             OR (    ( Recinfo.ORIGINAL_WORD = NULL )
232                 AND (  x_ORIGINAL_WORD = NULL )))
233        AND (    ( Recinfo.REPLACEMENT_WORD = x_REPLACEMENT_WORD)
234             OR (    ( Recinfo.REPLACEMENT_WORD = NULL )
235                 AND (  x_REPLACEMENT_WORD = NULL )))
236        AND (    ( Recinfo.TYPE = x_TYPE)
237             OR (    ( Recinfo.TYPE = NULL )
238                 AND (  x_TYPE = NULL )))
239        AND (    ( Recinfo.COUNTRY_CODE = x_COUNTRY_CODE)
240             OR (    ( Recinfo.COUNTRY_CODE = NULL )
241                 AND (  x_COUNTRY_CODE = NULL )))
242        AND (    ( Recinfo.LAST_UPDATE_DATE = x_LAST_UPDATE_DATE)
243             OR (    ( Recinfo.LAST_UPDATE_DATE = NULL )
244                 AND (  x_LAST_UPDATE_DATE = NULL )))
245        AND (    ( Recinfo.LAST_UPDATED_BY = x_LAST_UPDATED_BY)
246             OR (    ( Recinfo.LAST_UPDATED_BY = NULL )
247                 AND (  x_LAST_UPDATED_BY = NULL )))
248        AND (    ( Recinfo.CREATION_DATE = x_CREATION_DATE)
249             OR (    ( Recinfo.CREATION_DATE = NULL )
250                 AND (  x_CREATION_DATE = NULL )))
251        AND (    ( Recinfo.CREATED_BY = x_CREATED_BY)
252             OR (    ( Recinfo.CREATED_BY = NULL )
253                 AND (  x_CREATED_BY = NULL )))
254        AND (    ( Recinfo.LAST_UPDATE_LOGIN = x_LAST_UPDATE_LOGIN)
255             OR (    ( Recinfo.LAST_UPDATE_LOGIN = NULL )
256                 AND (  x_LAST_UPDATE_LOGIN = NULL )))
257        AND (    ( Recinfo.ATTRIBUTE_CATEGORY = x_ATTRIBUTE_CATEGORY)
258             OR (    ( Recinfo.ATTRIBUTE_CATEGORY = NULL )
259                 AND (  x_ATTRIBUTE_CATEGORY = NULL )))
260        AND (    ( Recinfo.ATTRIBUTE1 = x_ATTRIBUTE1)
261             OR (    ( Recinfo.ATTRIBUTE1 = NULL )
262                 AND (  x_ATTRIBUTE1 = NULL )))
263        AND (    ( Recinfo.ATTRIBUTE2 = x_ATTRIBUTE2)
264             OR (    ( Recinfo.ATTRIBUTE2 = NULL )
265                 AND (  x_ATTRIBUTE2 = NULL )))
266        AND (    ( Recinfo.ATTRIBUTE3 = x_ATTRIBUTE3)
267             OR (    ( Recinfo.ATTRIBUTE3 = NULL )
268                 AND (  x_ATTRIBUTE3 = NULL )))
269        AND (    ( Recinfo.ATTRIBUTE4 = x_ATTRIBUTE4)
270             OR (    ( Recinfo.ATTRIBUTE4 = NULL )
271                 AND (  x_ATTRIBUTE4 = NULL )))
272        AND (    ( Recinfo.ATTRIBUTE5 = x_ATTRIBUTE5)
273             OR (    ( Recinfo.ATTRIBUTE5 = NULL )
274                 AND (  x_ATTRIBUTE5 = NULL )))
275        AND (    ( Recinfo.ATTRIBUTE6 = x_ATTRIBUTE6)
276             OR (    ( Recinfo.ATTRIBUTE6 = NULL )
277                 AND (  x_ATTRIBUTE6 = NULL )))
278        AND (    ( Recinfo.ATTRIBUTE7 = x_ATTRIBUTE7)
279             OR (    ( Recinfo.ATTRIBUTE7 = NULL )
280                 AND (  x_ATTRIBUTE7 = NULL )))
281        AND (    ( Recinfo.ATTRIBUTE8 = x_ATTRIBUTE8)
282             OR (    ( Recinfo.ATTRIBUTE8 = NULL )
283                 AND (  x_ATTRIBUTE8 = NULL )))
284        AND (    ( Recinfo.ATTRIBUTE9 = x_ATTRIBUTE9)
285             OR (    ( Recinfo.ATTRIBUTE9 = NULL )
286                 AND (  x_ATTRIBUTE9 = NULL )))
287        AND (    ( Recinfo.ATTRIBUTE10 = x_ATTRIBUTE10)
288             OR (    ( Recinfo.ATTRIBUTE10 = NULL )
289                 AND (  x_ATTRIBUTE10 = NULL )))
290        AND (    ( Recinfo.ATTRIBUTE11 = x_ATTRIBUTE11)
291             OR (    ( Recinfo.ATTRIBUTE11 = NULL )
292                 AND (  x_ATTRIBUTE11 = NULL )))
293        AND (    ( Recinfo.ATTRIBUTE12 = x_ATTRIBUTE12)
294             OR (    ( Recinfo.ATTRIBUTE12 = NULL )
295                 AND (  x_ATTRIBUTE12 = NULL )))
296        AND (    ( Recinfo.ATTRIBUTE13 = x_ATTRIBUTE13)
297             OR (    ( Recinfo.ATTRIBUTE13 = NULL )
298                 AND (  x_ATTRIBUTE13 = NULL )))
299        AND (    ( Recinfo.ATTRIBUTE14 = x_ATTRIBUTE14)
300             OR (    ( Recinfo.ATTRIBUTE14 = NULL )
301                 AND (  x_ATTRIBUTE14 = NULL )))
302        AND (    ( Recinfo.ATTRIBUTE15 = x_ATTRIBUTE15)
303             OR (    ( Recinfo.ATTRIBUTE15 = NULL )
304                 AND (  x_ATTRIBUTE15 = NULL )))
305        ) then
306        return;
307    else
308        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
309        APP_EXCEPTION.RAISE_EXCEPTION;
310    End If;
311 END Lock_Row;
312 
313 END HZ_WORD_REPLACEMENTS_PKG;