DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEX_STRATEGIES_PKG

Source


1 PACKAGE BODY IEX_STRATEGIES_PKG as
2 /* $Header: iextstrb.pls 120.0.12010000.3 2008/08/13 10:51:47 pnaveenk ship $ */
3 G_PKG_NAME CONSTANT VARCHAR2(30):= 'IEX_STRATEGIES_PKG';
4 G_FILE_NAME CONSTANT VARCHAR2(12) := 'iextstrb.pls';
5 
6 --PG_DEBUG NUMBER(2) := TO_NUMBER(NVL(FND_PROFILE.value('IEX_DEBUG_LEVEL'), '20'));
7 PG_DEBUG NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
8 
9 PROCEDURE Insert_Row(
10           X_ROWID                 IN OUT NOCOPY VARCHAR2
11           ,X_STRATEGY_ID          IN  NUMBER
12          ,X_STATUS_CODE           IN VARCHAR2
13          ,X_STRATEGY_TEMPLATE_ID  IN  NUMBER
14          ,X_DELINQUENCY_ID        IN  NUMBER
15          ,X_OBJECT_TYPE           IN VARCHAR2
16          ,X_OBJECT_ID             IN  NUMBER
17          ,X_CUST_ACCOUNT_ID       IN  NUMBER
18          ,X_PARTY_ID              IN  NUMBER
19          ,X_SCORE_VALUE           IN  NUMBER
20          ,X_NEXT_WORK_ITEM_ID     IN  NUMBER
21          ,X_USER_WORK_ITEM_YN     IN VARCHAR2,
22           X_OBJECT_VERSION_NUMBER in NUMBER,
23           X_CREATION_DATE         in DATE,
24           X_CREATED_BY            in NUMBER,
25           X_LAST_UPDATE_DATE      in DATE,
26           X_LAST_UPDATED_BY       in NUMBER,
27           X_LAST_UPDATE_LOGIN     in NUMBER,
28           X_REQUEST_ID            in  NUMBER,
29           X_PROGRAM_APPLICATION_ID in  NUMBER,
30           X_PROGRAM_ID              in  NUMBER,
31           X_PROGRAM_UPDATE_DATE     in  DATE,
32 		X_CHECKLIST_STRATEGY_ID   IN  NUMBER,
33 		X_CHECKLIST_YN            IN VARCHAR2,
34         X_STRATEGY_LEVEL          IN  NUMBER,
35         X_JTF_OBJECT_TYPE            IN  VARCHAR2,
36         X_JTF_OBJECT_ID          IN  NUMBER,
37          X_CUSTOMER_SITE_USE_ID          IN  NUMBER,
38 	 X_ORG_ID                  IN  NUMBER)   -- Bug#6870773 Naveen
39  IS
40     cursor C is select ROWID from IEX_STRATEGIES
41     where  STRATEGY_ID = X_STRATEGY_ID   ;
42 
43 BEGIN
44 --   IF PG_DEBUG < 10  THEN
45    IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
46       IEX_DEBUG_PUB.LogMessage ('********* Start of Procedure =>IEX_STRATEGIES_PKG.INSERT_ROW ******** ');
47    END IF;
48      INSERT INTO IEX_STRATEGIES(
49            STRATEGY_ID
50           ,STATUS_CODE
51           ,STRATEGY_TEMPLATE_ID
52           ,DELINQUENCY_ID
53           ,OBJECT_TYPE
54           ,OBJECT_ID
55           ,CUST_ACCOUNT_ID
56           ,PARTY_ID
57           ,SCORE_VALUE
58           ,NEXT_WORK_ITEM_ID
59           ,USER_WORK_ITEM_YN
60           ,LAST_UPDATE_DATE
61           ,LAST_UPDATED_BY
62           ,LAST_UPDATE_LOGIN
63           ,CREATION_DATE
64           ,CREATED_BY
65           ,OBJECT_VERSION_NUMBER
66           ,REQUEST_ID
67           ,PROGRAM_APPLICATION_ID
68           ,PROGRAM_ID
69            ,PROGRAM_UPDATE_DATE
70 		 ,CHECKLIST_STRATEGY_ID
71 		 ,CHECKLIST_YN
72          ,STRATEGY_LEVEL
73          ,JTF_OBJECT_TYPE
74          ,JTF_OBJECT_ID
75          ,CUSTOMER_SITE_USE_ID
76 	 ,ORG_ID   --Bug#6870773 Naveen
77           ) VALUES (
78            x_STRATEGY_ID
79           ,decode( x_STATUS_CODE, FND_API.G_MISS_CHAR, NULL, x_STATUS_CODE)
80           ,decode( x_STRATEGY_TEMPLATE_ID, FND_API.G_MISS_NUM, NULL, x_STRATEGY_TEMPLATE_ID)
81           ,x_DELINQUENCY_ID
82           ,decode( x_OBJECT_TYPE, FND_API.G_MISS_CHAR, NULL, x_OBJECT_TYPE)
83           ,decode( x_OBJECT_ID, FND_API.G_MISS_NUM, NULL, x_OBJECT_ID)
84           ,decode( x_CUST_ACCOUNT_ID, FND_API.G_MISS_NUM, NULL, x_CUST_ACCOUNT_ID)
85           ,decode( x_PARTY_ID, FND_API.G_MISS_NUM, NULL, x_PARTY_ID)
86           ,decode( x_SCORE_VALUE, FND_API.G_MISS_NUM, NULL, x_SCORE_VALUE)
87           ,decode( x_NEXT_WORK_ITEM_ID, FND_API.G_MISS_NUM, NULL, x_NEXT_WORK_ITEM_ID)
88           ,decode( x_USER_WORK_ITEM_YN, FND_API.G_MISS_CHAR, NULL, x_USER_WORK_ITEM_YN)
89           ,decode( x_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), x_LAST_UPDATE_DATE)
90           ,decode( x_LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL, x_LAST_UPDATED_BY)
91           ,decode( x_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL, x_LAST_UPDATE_LOGIN)
92           ,decode( x_CREATION_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), x_CREATION_DATE)
93           ,decode( x_CREATED_BY, FND_API.G_MISS_NUM, NULL, x_CREATED_BY)
94           ,decode( x_OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, NULL, x_OBJECT_VERSION_NUMBER)
95           ,decode( x_REQUEST_ID, FND_API.G_MISS_NUM, NULL, x_REQUEST_ID)
96           ,decode( x_PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM, NULL, x_PROGRAM_APPLICATION_ID)
97           ,decode( x_PROGRAM_ID, FND_API.G_MISS_NUM, NULL, x_PROGRAM_ID)
98           ,decode( x_PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), x_PROGRAM_UPDATE_DATE)
99           ,decode( x_CHECKLIST_STRATEGY_ID, FND_API.G_MISS_NUM, NULL, x_CHECKLIST_STRATEGY_ID)
100 		,decode( x_CHECKLIST_YN, FND_API.G_MISS_CHAR, NULL, x_CHECKLIST_YN)
101           ,decode( X_STRATEGY_LEVEL, FND_API.G_MISS_NUM, NULL, X_STRATEGY_LEVEL)
102          ,decode( x_jtf_OBJECT_TYPE, FND_API.G_MISS_CHAR, NULL, x_jtf_OBJECT_TYPE)
103           ,decode( x_jtf_OBJECT_ID, FND_API.G_MISS_NUM, NULL, x_jtf_OBJECT_ID)
104            ,decode( x_CUSTOMER_SITE_USE_ID, FND_API.G_MISS_NUM, NULL,  x_CUSTOMER_SITE_USE_ID)
105 	    ,decode( X_ORG_ID, FND_API.G_MISS_NUM, NULL,  X_ORG_ID) --Bug# 6870773
106          );
107   open c;
108   fetch c into X_ROWID;
109 --  IF PG_DEBUG < 10  THEN
110   IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
111      IEX_DEBUG_PUB.LogMessage ('Insert_Row: ' || 'Value of ROWID = '||X_ROWID);
112   END IF;
113   if (c%notfound) then
114     close c;
115     raise no_data_found;
116   end if;
117   close c;
118 --IF PG_DEBUG < 10  THEN
119 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
120    IEX_DEBUG_PUB.LogMessage ('********* End of Procedure =>IEX_STRATEGIES_PKG.INSERT_ROW ******** ');
121 END IF;
122 
123 End Insert_Row;
124 
125 PROCEDURE Update_Row(
126           X_STRATEGY_ID          IN  NUMBER
127          ,X_STATUS_CODE           IN VARCHAR2
128          ,X_STRATEGY_TEMPLATE_ID  IN  NUMBER
129          ,X_DELINQUENCY_ID        IN  NUMBER
130          ,X_OBJECT_TYPE           IN VARCHAR2
131          ,X_OBJECT_ID             IN  NUMBER
132          ,X_CUST_ACCOUNT_ID       IN  NUMBER
133          ,X_PARTY_ID              IN  NUMBER
134          ,X_SCORE_VALUE           IN  NUMBER
135          ,X_NEXT_WORK_ITEM_ID     IN  NUMBER
136          ,X_USER_WORK_ITEM_YN     IN VARCHAR2,
137           X_OBJECT_VERSION_NUMBER in NUMBER,
138           X_LAST_UPDATE_DATE      in DATE,
139           X_LAST_UPDATED_BY       in NUMBER,
140           X_LAST_UPDATE_LOGIN     in NUMBER,
141           X_REQUEST_ID            in  NUMBER,
142           X_PROGRAM_APPLICATION_ID in  NUMBER,
143           X_PROGRAM_ID              in  NUMBER,
144           X_PROGRAM_UPDATE_DATE     in  DATE,
145 		X_CHECKLIST_STRATEGY_ID   IN  NUMBER,
146 		X_CHECKLIST_YN            IN VARCHAR2,
147         X_STRATEGY_LEVEL          IN  NUMBER,
148         X_JTF_OBJECT_TYPE            IN  VARCHAR2,
149         X_JTF_OBJECT_ID          IN  NUMBER,
150         X_CUSTOMER_SITE_USE_ID         IN  NUMBER,
151 	X_ORG_ID                       IN NUMBER ) --Bug# 6870773
152 IS
153 BEGIN
154 --    IF PG_DEBUG < 10  THEN
155     IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
156        IEX_DEBUG_PUB.LogMessage ('********* Start of Procedure =>IEX_STRATEGIES_PKG.UPDATE_ROW ******** ');
157     END IF;
158     Update IEX_STRATEGIES
159     SET
160         STATUS_CODE = decode( x_STATUS_CODE, FND_API.G_MISS_CHAR, null,
161                               null, status_code, x_STATUS_CODE)
162        ,STRATEGY_TEMPLATE_ID = decode( x_STRATEGY_TEMPLATE_ID, FND_API.G_MISS_NUM,
163                               null, null, STRATEGY_TEMPLATE_ID, x_STRATEGY_TEMPLATE_ID)
164        ,DELINQUENCY_ID = decode( x_DELINQUENCY_ID, FND_API.G_MISS_NUM,
165                               null, null, DELINQUENCY_ID, x_DELINQUENCY_ID)
166        ,OBJECT_TYPE = decode( x_OBJECT_TYPE, FND_API.G_MISS_CHAR,
167                               null, null, OBJECT_TYPE, x_OBJECT_TYPE)
168        ,OBJECT_ID = decode( x_OBJECT_ID, FND_API.G_MISS_NUM,
169                               null, null,  OBJECT_ID, x_OBJECT_ID)
170        ,CUST_ACCOUNT_ID = decode( x_CUST_ACCOUNT_ID, FND_API.G_MISS_NUM,
171                               null, null,  CUST_ACCOUNT_ID, x_CUST_ACCOUNT_ID)
172        ,PARTY_ID = decode( x_PARTY_ID, FND_API.G_MISS_NUM,
173                               null, null,  PARTY_ID, x_PARTY_ID)
174        ,SCORE_VALUE = decode( x_SCORE_VALUE, FND_API.G_MISS_NUM,
175                               null, null,  SCORE_VALUE, x_SCORE_VALUE)
176        ,NEXT_WORK_ITEM_ID = decode( x_NEXT_WORK_ITEM_ID, FND_API.G_MISS_NUM,
177                               null, null,  NEXT_WORK_ITEM_ID, x_NEXT_WORK_ITEM_ID)
178        ,USER_WORK_ITEM_YN = decode( x_USER_WORK_ITEM_YN, FND_API.G_MISS_CHAR,
179                               null, null,  USER_WORK_ITEM_YN, x_USER_WORK_ITEM_YN)
180        ,LAST_UPDATE_DATE = decode( x_LAST_UPDATE_DATE, FND_API.G_MISS_DATE,
181                               null, null,  LAST_UPDATE_DATE, x_LAST_UPDATE_DATE)
182        ,LAST_UPDATED_BY = decode( x_LAST_UPDATED_BY, FND_API.G_MISS_NUM,
183                               null, null,  LAST_UPDATED_BY, x_LAST_UPDATED_BY)
184        ,LAST_UPDATE_LOGIN = decode( x_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM,
185                               null, null,  LAST_UPDATE_LOGIN, x_LAST_UPDATE_LOGIN)
186        ,OBJECT_VERSION_NUMBER = decode( x_OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM,
187                               null, null,  OBJECT_VERSION_NUMBER, x_OBJECT_VERSION_NUMBER)
188        ,REQUEST_ID = decode( x_REQUEST_ID, FND_API.G_MISS_NUM,
189                               null, null,  REQUEST_ID, x_REQUEST_ID)
190        ,PROGRAM_APPLICATION_ID = decode( x_PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM,
191                               null, null,  PROGRAM_APPLICATION_ID, x_PROGRAM_APPLICATION_ID)
192        ,PROGRAM_ID = decode( x_PROGRAM_ID, FND_API.G_MISS_NUM, PROGRAM_ID,
193                               null, null,  x_PROGRAM_ID)
194        ,PROGRAM_UPDATE_DATE = decode( x_PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE,
195                               null, null,  PROGRAM_UPDATE_DATE, x_PROGRAM_UPDATE_DATE)
196        ,CHECKLIST_STRATEGY_ID = decode( x_CHECKLIST_STRATEGY_ID, FND_API.G_MISS_NUM,
197                               null, null,  CHECKLIST_STRATEGY_ID, x_CHECKLIST_STRATEGY_ID)
198        ,CHECKLIST_YN = decode( x_CHECKLIST_YN, FND_API.G_MISS_CHAR,
199                               null, null,  CHECKLIST_YN, x_CHECKLIST_YN)
200        ,STRATEGY_LEVEL = decode( x_STRATEGY_LEVEL, FND_API.G_MISS_NUM,
201                               null, null,  STRATEGY_LEVEL, x_STRATEGY_LEVEL)
202        ,JTF_OBJECT_TYPE = decode( x_JTF_OBJECT_TYPE, FND_API.G_MISS_CHAR,
203                               null, null,  JTF_OBJECT_TYPE, x_JTF_OBJECT_TYPE)
204        ,JTF_OBJECT_ID = decode( x_JTF_OBJECT_ID, FND_API.G_MISS_NUM,
205                               null, null,  JTF_OBJECT_ID, x_JTF_OBJECT_ID)
206        ,CUSTOMER_SITE_USE_ID = decode( x_CUSTOMER_SITE_USE_ID, FND_API.G_MISS_NUM,
207                               null, null,  CUSTOMER_SITE_USE_ID, x_CUSTOMER_SITE_USE_ID)
208         ,ORG_ID = decode( X_ORG_ID, FND_API.G_MISS_NUM, NULL,NULL,ORG_ID,  X_ORG_ID)   --Bug# 6870773 Naveen
209     where STRATEGY_ID = X_STRATEGY_ID;
210 
211     If (SQL%NOTFOUND) then
212         RAISE NO_DATA_FOUND;
213     End If;
214 --     IF PG_DEBUG < 10  THEN
215      IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
216         IEX_DEBUG_PUB.LogMessage ('********* End of Procedure =>IEX_STRATEGIES_PKG.UPDATE_ROW ******** ');
217      END IF;
218 END Update_Row;
219 
220 PROCEDURE Delete_Row(
221     X_STRATEGY_ID  NUMBER)
222 IS
223 BEGIN
224 -- IF PG_DEBUG < 10  THEN
225  IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
226     IEX_DEBUG_PUB.LogMessage ('********* Start of Procedure =>IEX_STRATEGY_PKG.DELETE_ROW ******** ');
227  END IF;
228     DELETE FROM IEX_STRATEGIES
229     WHERE STRATEGY_ID = X_STRATEGY_ID;
230     If (SQL%NOTFOUND) then
231         RAISE NO_DATA_FOUND;
232     End If;
233 --    IF PG_DEBUG < 10  THEN
234     IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
235        IEX_DEBUG_PUB.LogMessage ('********* End of Procedure =>IEX_STRATEGY_PKG.DELETE_ROW ******** ');
236     END IF;
237 END Delete_Row;
238 
239 
240 procedure LOCK_ROW (
241   X_STRATEGY_ID in NUMBER,
242   X_OBJECT_VERSION_NUMBER in NUMBER
243 ) is
244   cursor c is select OBJECT_VERSION_NUMBER
245     from IEX_STRATEGIES
246     where STRATEGY_ID = X_STRATEGY_ID
247     and OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER
248     for update of STRATEGY_ID nowait;
249   recinfo c%rowtype;
250 
251 
252 begin
253 -- IF PG_DEBUG < 10  THEN
254  IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
255     IEX_DEBUG_PUB.LogMessage ('********* Start of Procedure =>IEX_STRATEGIES_PKG.LOCK_ROW ******** ');
256  END IF;
257   open c;
258   fetch c into recinfo;
259   if (c%notfound) then
260     close c;
261     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
262     app_exception.raise_exception;
263   end if;
264 
265   close c;
266 
267   if recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER then
268     null;
269   else
270     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
271     app_exception.raise_exception;
272   end if;
273 --IF PG_DEBUG < 10  THEN
274 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
275    IEX_DEBUG_PUB.LogMessage ('********* End of Procedure =>IEX_STRATEGIES_PKG.LOCK_ROW ******** ');
276 END IF;
277 end LOCK_ROW;
278 
279 /* PROCEDURE Lock_Row(
280         PROCEDURE Update_Row(
281           X_STRATEGY_ID          IN  NUMBER
282          ,X_STATUS_CODE           IN VARCHAR2
283          ,X_STRATEGY_TEMPLATE_ID  IN  NUMBER
284          ,X_DELINQUENCY_ID        IN  NUMBER
285          ,X_OBJECT_TYPE           IN VARCHAR2
286          ,X_OBJECT_ID             IN  NUMBER
287          ,X_WORK_ORDER_ID         IN  NUMBER
288          ,X_CUST_ACCOUNT_ID       IN  NUMBER
289          ,X_PARTY_ID              IN  NUMBER
290          ,X_SCORE_VALUE           IN  NUMBER
291          ,X_NEXT_WORK_ITEM_ID     IN  NUMBER
292          ,X_USER_WORK_ITEM_YN     IN VARCHAR2,
293           X_OBJECT_VERSION_NUMBER in NUMBER,
294           X_CREATION_DATE         in DATE,
295           X_CREATED_BY            in NUMBER,
296           X_LAST_UPDATE_DATE      in DATE,
297           X_LAST_UPDATED_BY       in NUMBER,
298           X_LAST_UPDATE_LOGIN     in NUMBER,
299           X_REQUEST_ID            in  NUMBER,
300           X_PROGRAM_APPLICATION_ID in  NUMBER,
301           X_PROGRAM_ID              in  NUMBER,
302           X_PROGRAM_UPDATE_DATE     in  DATE) IS
303 
304  IS
305    CURSOR C IS
306        SELECT *
307        FROM IEX_STRATEGIES
308        WHERE STRATEGY_ID =  p_STRATEGY_ID
309        FOR UPDATE of STRATEGY_ID NOWAIT;
310    Recinfo C%ROWTYPE;
311 BEGIN
312     OPEN C;
313     FETCH C INTO Recinfo;
314     If (C%NOTFOUND) then
315         CLOSE C;
316         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
317         APP_EXCEPTION.RAISE_EXCEPTION;
318     End If;
319     CLOSE C;
320     if (
321            (      Recinfo.STRATEGY_ID = p_STRATEGY_ID)
322        AND (    ( Recinfo.STATUS_CODE = p_STATUS_CODE)
323             OR (    ( Recinfo.STATUS_CODE IS NULL )
324                 AND (  p_STATUS_CODE IS NULL )))
325        AND (    ( Recinfo.STRATEGY_TEMPLATE_ID = p_STRATEGY_TEMPLATE_ID)
326             OR (    ( Recinfo.STRATEGY_TEMPLATE_ID IS NULL )
327                 AND (  p_STRATEGY_TEMPLATE_ID IS NULL )))
328        AND (    ( Recinfo.DELINQUENCY_ID = p_DELINQUENCY_ID)
329             OR (    ( Recinfo.DELINQUENCY_ID IS NULL )
330                 AND (  p_DELINQUENCY_ID IS NULL )))
331        AND (    ( Recinfo.OBJECT_TYPE = p_OBJECT_TYPE)
332             OR (    ( Recinfo.OBJECT_TYPE IS NULL )
333                 AND (  p_OBJECT_TYPE IS NULL )))
334        AND (    ( Recinfo.OBJECT_ID = p_OBJECT_ID)
335             OR (    ( Recinfo.OBJECT_ID IS NULL )
336                 AND (  p_OBJECT_ID IS NULL )))
337        AND (    ( Recinfo.WORK_ORDER_ID = p_WORK_ORDER_ID)
338             OR (    ( Recinfo.WORK_ORDER_ID IS NULL )
339                 AND (  p_WORK_ORDER_ID IS NULL )))
340        AND (    ( Recinfo.CUST_ACCOUNT_ID = p_CUST_ACCOUNT_ID)
341             OR (    ( Recinfo.CUST_ACCOUNT_ID IS NULL )
342                 AND (  p_CUST_ACCOUNT_ID IS NULL )))
343        AND (    ( Recinfo.PARTY_ID = p_PARTY_ID)
344             OR (    ( Recinfo.PARTY_ID IS NULL )
345                 AND (  p_PARTY_ID IS NULL )))
346        AND (    ( Recinfo.SCORE_VALUE = p_SCORE_VALUE)
347             OR (    ( Recinfo.SCORE_VALUE IS NULL )
348                 AND (  p_SCORE_VALUE IS NULL )))
349        AND (    ( Recinfo.NEXT_WORK_ITEM_ID = p_NEXT_WORK_ITEM_ID)
350             OR (    ( Recinfo.NEXT_WORK_ITEM_ID IS NULL )
351                 AND (  p_NEXT_WORK_ITEM_ID IS NULL )))
352        AND (    ( Recinfo.USER_WORK_ITEM_YN = p_USER_WORK_ITEM_YN)
353             OR (    ( Recinfo.USER_WORK_ITEM_YN IS NULL )
354                 AND (  p_USER_WORK_ITEM_YN IS NULL )))
355        AND (    ( Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
356             OR (    ( Recinfo.LAST_UPDATED_BY IS NULL )
357                 AND (  p_LAST_UPDATED_BY IS NULL )))
358        AND (    ( Recinfo.LAST_UPDATE_LOGIN = p_LAST_UPDATE_LOGIN)
359             OR (    ( Recinfo.LAST_UPDATE_LOGIN IS NULL )
360                 AND (  p_LAST_UPDATE_LOGIN IS NULL )))
361        AND (    ( Recinfo.CREATION_DATE = p_CREATION_DATE)
362             OR (    ( Recinfo.CREATION_DATE IS NULL )
363                 AND (  p_CREATION_DATE IS NULL )))
364        AND (    ( Recinfo.CREATED_BY = p_CREATED_BY)
365             OR (    ( Recinfo.CREATED_BY IS NULL )
366                 AND (  p_CREATED_BY IS NULL )))
367        AND (    ( Recinfo.OBJECT_VERSION_NUMBER = p_OBJECT_VERSION_NUMBER)
368             OR (    ( Recinfo.OBJECT_VERSION_NUMBER IS NULL )
369                 AND (  p_OBJECT_VERSION_NUMBER IS NULL )))
370        AND (    ( Recinfo.REQUEST_ID = p_REQUEST_ID)
371             OR (    ( Recinfo.REQUEST_ID IS NULL )
372                 AND (  p_REQUEST_ID IS NULL )))
373        AND (    ( Recinfo.PROGRAM_APPLICATION_ID = p_PROGRAM_APPLICATION_ID)
374             OR (    ( Recinfo.PROGRAM_APPLICATION_ID IS NULL )
375                 AND (  p_PROGRAM_APPLICATION_ID IS NULL )))
376        AND (    ( Recinfo.PROGRAM_ID = p_PROGRAM_ID)
377             OR (    ( Recinfo.PROGRAM_ID IS NULL )
378                 AND (  p_PROGRAM_ID IS NULL )))
379        AND (    ( Recinfo.PROGRAM_UPDATE_DATE = p_PROGRAM_UPDATE_DATE)
380             OR (    ( Recinfo.PROGRAM_UPDATE_DATE IS NULL )
381                 AND (  p_PROGRAM_UPDATE_DATE IS NULL )))
382         ) then
383         return;
384     else
385         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
386         APP_EXCEPTION.RAISE_EXCEPTION;
387     End If;
388 END Lock_Row;
389 */
390 End IEX_STRATEGIES_PKG;