DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSF_DEBRIEF_HEADERS_PKG

Source


1 PACKAGE BODY CSF_DEBRIEF_HEADERS_PKG as
2 /* $Header: csftdbhb.pls 120.6 2008/05/12 06:23:37 syenduri ship $ */
3 -- Start of Comments
4 -- Package name     : CSF_DEBRIEF_HEADERS_PKG
5 -- Purpose          :
6 -- History          :
7 -- NOTE             :
8 -- End of Comments
9 G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSF_DEBRIEF_HEADERS_PKG';
10 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csftdbfb.pls';
11 
12 PROCEDURE Insert_Row(
13           px_DEBRIEF_HEADER_ID   IN OUT NOCOPY NUMBER,
14           p_DEBRIEF_NUMBER    VARCHAR2,
15           p_DEBRIEF_DATE    DATE,
16           p_DEBRIEF_STATUS_ID    NUMBER,
17           p_TASK_ASSIGNMENT_ID    NUMBER,
18           p_CREATED_BY    NUMBER,
19           p_CREATION_DATE    DATE,
20           p_LAST_UPDATED_BY    NUMBER,
21           p_LAST_UPDATE_DATE    DATE,
22           p_LAST_UPDATE_LOGIN    NUMBER,
23           p_ATTRIBUTE1    VARCHAR2,
24           p_ATTRIBUTE2    VARCHAR2,
25           p_ATTRIBUTE3    VARCHAR2,
26           p_ATTRIBUTE4    VARCHAR2,
27           p_ATTRIBUTE5    VARCHAR2,
28           p_ATTRIBUTE6    VARCHAR2,
29           p_ATTRIBUTE7    VARCHAR2,
30           p_ATTRIBUTE8    VARCHAR2,
31           p_ATTRIBUTE9    VARCHAR2,
32           p_ATTRIBUTE10    VARCHAR2,
33           p_ATTRIBUTE11    VARCHAR2,
34           p_ATTRIBUTE12    VARCHAR2,
35           p_ATTRIBUTE13    VARCHAR2,
36           p_ATTRIBUTE14    VARCHAR2,
37           p_ATTRIBUTE15    VARCHAR2,
38           p_ATTRIBUTE_CATEGORY    VARCHAR2,
39 	      p_commit         IN  VARCHAR2 DEFAULT Null, -- added for bug 3565704
40            p_object_version_number    IN        NUMBER default null,
41           p_TRAVEL_START_TIME        IN        DATE default null,
42           p_TRAVEL_END_TIME          In        DATE default null,
43           p_TRAVEL_DISTANCE_IN_KM    In        NUMBER default null,
44           p_DML_mode                           VARCHAR2
45           )
46 
47  IS
48    CURSOR C2 IS SELECT CSF_DEBRIEF_HEADERS_S1.nextval FROM sys.dual;
49    l_api_name_full varchar2(50) := 'CSF_DEBRIEF_HEADERS_PKG.INSERT_ROW';
50    l_debrief_header CSF_DEBRIEF_PUB.DEBRIEF_Rec_Type;
51    l_return_status    varchar2(100);
52    l_msg_count        NUMBER;
53    l_msg_data         varchar2(1000);
54    l_commit           varchar2(2);   -- added for bug 3565704
55    l_dml_mode 		  varchar2(10) := p_DML_mode;
56 BEGIN
57           l_debrief_header.DEBRIEF_HEADER_ID := px_DEBRIEF_HEADER_ID   ;
58           l_debrief_header.DEBRIEF_NUMBER     := p_DEBRIEF_NUMBER    ;
59           l_debrief_header.DEBRIEF_DATE       := p_DEBRIEF_DATE    ;
60           l_debrief_header.DEBRIEF_STATUS_ID  := p_DEBRIEF_STATUS_ID    ;
61           l_debrief_header.TASK_ASSIGNMENT_ID := p_TASK_ASSIGNMENT_ID    ;
62           l_debrief_header.CREATED_BY         := p_CREATED_BY    ;
63           l_debrief_header.CREATION_DATE      := p_CREATION_DATE   ;
64           l_debrief_header.LAST_UPDATED_BY    := p_LAST_UPDATED_BY    ;
65           l_debrief_header.LAST_UPDATE_DATE   := p_LAST_UPDATE_DATE    ;
66           l_debrief_header.LAST_UPDATE_LOGIN  := p_LAST_UPDATE_LOGIN    ;
67           l_debrief_header.ATTRIBUTE1         := p_ATTRIBUTE1    ;
68           l_debrief_header.ATTRIBUTE2         := p_ATTRIBUTE2    ;
69            l_debrief_header.ATTRIBUTE3        := p_ATTRIBUTE3    ;
70           l_debrief_header.ATTRIBUTE4         := p_ATTRIBUTE4    ;
71           l_debrief_header.ATTRIBUTE5         := p_ATTRIBUTE5    ;
72           l_debrief_header.ATTRIBUTE6         := p_ATTRIBUTE6    ;
73           l_debrief_header.ATTRIBUTE7         := p_ATTRIBUTE7    ;
74           l_debrief_header.ATTRIBUTE8         := p_ATTRIBUTE8    ;
75           l_debrief_header.ATTRIBUTE9         := p_ATTRIBUTE9    ;
76           l_debrief_header.ATTRIBUTE10        := p_ATTRIBUTE10    ;
77           l_debrief_header.ATTRIBUTE11         := p_ATTRIBUTE11    ;
78           l_debrief_header.ATTRIBUTE12        := p_ATTRIBUTE12    ;
79           l_debrief_header.ATTRIBUTE13        := p_ATTRIBUTE13    ;
80           l_debrief_header.ATTRIBUTE14        := p_ATTRIBUTE14    ;
81           l_debrief_header.ATTRIBUTE15        := p_ATTRIBUTE15    ;
82           l_debrief_header.ATTRIBUTE_CATEGORY := p_ATTRIBUTE_CATEGORY;
83           l_debrief_header.object_version_number :=p_object_version_number;
84           l_debrief_header.TRAVEL_START_TIME      :=p_TRAVEL_START_TIME;
85           l_debrief_header.TRAVEL_END_TIME        :=p_TRAVEL_END_TIME;
86           l_debrief_header.TRAVEL_DISTANCE_IN_KM  :=p_TRAVEL_DISTANCE_IN_KM;
87 
88     IF l_dml_mode is null THEN
89       l_dml_mode := 'BOTH';
90     END IF;
91 
92     IF l_dml_mode <> 'POST' THEN
93       IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_HEADERS_PKG',
94                                           'Insert_Row',
95                                           'B', 'C')  THEN
96 
97                 csf_debrief_headers_cuhk.Create_debrief_header_Pre
98                     ( px_debrief_header     => l_debrief_header,
99                       x_return_status          => l_return_status,
100                       x_msg_count              => l_msg_count,
101                       x_msg_data               => l_msg_data
102                     ) ;
103         IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
104           --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Customer User Hook');
105           FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_CUST_USR_HK');
106           FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
107           FND_MSG_PUB.Add;
108           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
109         END IF;
110       END IF;
111     END IF;
112 
113 
114   -- Pre call to the Vertical Type User Hook
115   --
116   IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_HEADERS_PKG',
117                                       'Insert_Row',
118                                       'B', 'V')  THEN
119     csf_debrief_headers_vuhk.Create_debrief_header_Pre
120                 ( px_debrief_header     => l_debrief_header,
121                   x_return_status          => l_return_status,
122                   x_msg_count              => l_msg_count,
123                   x_msg_data               => l_msg_data
124                 ) ;
125 
126     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
127       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
128       FND_MESSAGE.Set_Name('CS', 'CSF_API_ERR_PRE_VERT_USR_HK');
129       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
130       FND_MSG_PUB.Add;
131       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
132     END IF;
133   END IF;
134     csf_debrief_headers_iuhk.Create_debrief_header_Pre
135                 ( x_return_status          => l_return_status
136                 ) ;
137 
138     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
139       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
140       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_INT_USR_HK');
141       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
142       FND_MSG_PUB.Add;
143       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
144     END IF;
145 
146    IF l_dml_mode = 'BOTH' THEN
147      If (l_debrief_header.DEBRIEF_HEADER_ID IS NULL) OR (l_debrief_header.DEBRIEF_HEADER_ID = FND_API.G_MISS_NUM) then
148          OPEN C2;
149          FETCH C2 INTO px_DEBRIEF_HEADER_ID;
150          CLOSE C2;
151      End If;
152    END IF;
153 
154    l_debrief_header.DEBRIEF_HEADER_ID := px_DEBRIEF_HEADER_ID;
155    user_hooks_rec.DEBRIEF_HEADER_ID := l_debrief_header.DEBRIEF_HEADER_ID;
156 
157    IF l_dml_mode = 'BOTH' THEN
158      INSERT INTO CSF_DEBRIEF_HEADERS(
159              DEBRIEF_HEADER_ID,
160              DEBRIEF_NUMBER,
161              DEBRIEF_DATE,
162              DEBRIEF_STATUS_ID,
163              TASK_ASSIGNMENT_ID,
164              CREATED_BY,
165              CREATION_DATE,
166              LAST_UPDATED_BY,
167              LAST_UPDATE_DATE,
168              LAST_UPDATE_LOGIN,
169              ATTRIBUTE1,
170              ATTRIBUTE2,
171              ATTRIBUTE3,
172              ATTRIBUTE4,
173              ATTRIBUTE5,
174              ATTRIBUTE6,
175              ATTRIBUTE7,
176              ATTRIBUTE8,
177              ATTRIBUTE9,
178              ATTRIBUTE10,
179              ATTRIBUTE11,
180              ATTRIBUTE12,
181              ATTRIBUTE13,
182              ATTRIBUTE14,
183              ATTRIBUTE15,
184              ATTRIBUTE_CATEGORY,
185              OBJECT_VERSION_NUMBER,
186              TRAVEL_START_TIME,
187              TRAVEL_END_TIME,
188              TRAVEL_DISTANCE_IN_KM,
189              PROCESSED_FLAG
190             ) VALUES (
191              px_DEBRIEF_HEADER_ID,
192              decode( l_debrief_header.DEBRIEF_NUMBER, FND_API.G_MISS_CHAR, NULL, l_debrief_header.DEBRIEF_NUMBER),
193              decode( l_debrief_header.DEBRIEF_DATE, FND_API.G_MISS_DATE, to_date(null), l_debrief_header.DEBRIEF_DATE),
194              decode( l_debrief_header.DEBRIEF_STATUS_ID, FND_API.G_MISS_NUM, NULL, l_debrief_header.DEBRIEF_STATUS_ID),
195              decode( l_debrief_header.TASK_ASSIGNMENT_ID, FND_API.G_MISS_NUM, NULL, l_debrief_header.TASK_ASSIGNMENT_ID),
196              decode( l_debrief_header.CREATED_BY, FND_API.G_MISS_NUM, fnd_global.user_id, l_debrief_header.CREATED_BY),
197              decode( l_debrief_header.CREATION_DATE, FND_API.G_MISS_DATE, sysdate, l_debrief_header.CREATION_DATE),
198              decode( l_debrief_header.LAST_UPDATED_BY, FND_API.G_MISS_NUM, fnd_global.user_id, l_debrief_header.LAST_UPDATED_BY),
199              decode( l_debrief_header.LAST_UPDATE_DATE, FND_API.G_MISS_DATE, sysdate, l_debrief_header.LAST_UPDATE_DATE),
200              decode( l_debrief_header.LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, fnd_global.conc_login_id, l_debrief_header.LAST_UPDATE_LOGIN),
201              decode( l_debrief_header.ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE1),
202              decode( l_debrief_header.ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE2),
203              decode( l_debrief_header.ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE3),
204              decode( l_debrief_header.ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE4),
205              decode( l_debrief_header.ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE5),
206              decode( l_debrief_header.ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE6),
207              decode( l_debrief_header.ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE7),
208              decode( l_debrief_header.ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE8),
209              decode( l_debrief_header.ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE9),
210              decode( l_debrief_header.ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE10),
211              decode( l_debrief_header.ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE11),
212              decode( l_debrief_header.ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE12),
213              decode( l_debrief_header.ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE13),
214              decode( l_debrief_header.ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE14),
215              decode( l_debrief_header.ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE15),
216              decode( l_debrief_header.ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, l_debrief_header.ATTRIBUTE_CATEGORY),
217              decode( l_debrief_header.OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, NULL,l_debrief_header.OBJECT_VERSION_NUMBER),
218              decode( l_debrief_header.TRAVEL_START_TIME, FND_API.G_MISS_DATE, to_date(null), l_debrief_header.TRAVEL_START_TIME),
219              decode( l_debrief_header.TRAVEL_END_TIME, FND_API.G_MISS_DATE, to_date(null), l_debrief_header.TRAVEL_END_TIME),
220              decode( l_debrief_header.TRAVEL_DISTANCE_IN_KM, FND_API.G_MISS_NUM, NULL, l_debrief_header.TRAVEL_DISTANCE_IN_KM),
221              'UNPROCESSED'
222              );
223   END IF;
224 
225   IF l_dml_mode <> 'PRE' THEN
226     IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_HEADERS_PKG',
227                                         'Insert_Row',
228                                         'A', 'C')  THEN
229 
230               csf_debrief_headers_cuhk.Create_debrief_header_post
231                   ( px_debrief_header     => l_debrief_header,
232                     x_return_status          => l_return_status,
233                     x_msg_count              => l_msg_count,
234                     x_msg_data               => l_msg_data
235                   ) ;
236       IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
237         --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Customer User Hook');
238         FND_MESSAGE.Set_Name('CS', 'CS_ERR_POST_CUST_USR_HK');
239         FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
240         FND_MSG_PUB.Add;
241         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
242       END IF;
243      END IF;
244   END IF;
245 
246 
247   -- Pre call to the Vertical Type User Hook
248   --
249   IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_HEADERS_PKG',
250                                       'Insert_Row',
251                                       'A', 'V')  THEN
252     csf_debrief_headers_vuhk.Create_debrief_header_post
253                 ( px_debrief_header     => l_debrief_header,
254                   x_return_status          => l_return_status,
255                   x_msg_count              => l_msg_count,
256                   x_msg_data               => l_msg_data
257                 ) ;
258 
259     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
260       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
261       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_VERT_USR_HK');
262       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
263       FND_MSG_PUB.Add;
264       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
265     END IF;
266   END IF;
267     csf_debrief_headers_iuhk.Create_debrief_header_post
268                 ( x_return_status          => l_return_status
269                 ) ;
270 
271     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
272       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
273       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_INT_USR_HK');
274       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
275       FND_MSG_PUB.Add;
276       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
277     END IF;
278 
279  -- added for bug 3565704
280  -- Standard check of p_commit
281 
282   if p_commit is null then
283     l_commit := FND_API.G_FALSE;
284   else
285     l_commit := p_commit;
286   end if;
287 
288 -- Commented for bug 5067610
289   --IF FND_API.To_Boolean(l_commit) THEN
290     --COMMIT WORK;
291   --END IF;
292 -- Till here for bug 5067610
293 
294 End Insert_Row;
295 
296 PROCEDURE Update_Row(
297           p_DEBRIEF_HEADER_ID    NUMBER,
298           p_DEBRIEF_NUMBER    VARCHAR2,
299           p_DEBRIEF_DATE    DATE,
300           p_DEBRIEF_STATUS_ID    NUMBER,
301           p_TASK_ASSIGNMENT_ID    NUMBER,
302           p_CREATED_BY    NUMBER,
303           p_CREATION_DATE    DATE,
304           p_LAST_UPDATED_BY    NUMBER,
305           p_LAST_UPDATE_DATE    DATE,
306           p_LAST_UPDATE_LOGIN    NUMBER,
307           p_ATTRIBUTE1    VARCHAR2,
308           p_ATTRIBUTE2    VARCHAR2,
309           p_ATTRIBUTE3    VARCHAR2,
310           p_ATTRIBUTE4    VARCHAR2,
311           p_ATTRIBUTE5    VARCHAR2,
312           p_ATTRIBUTE6    VARCHAR2,
313           p_ATTRIBUTE7    VARCHAR2,
314           p_ATTRIBUTE8    VARCHAR2,
315           p_ATTRIBUTE9    VARCHAR2,
316           p_ATTRIBUTE10    VARCHAR2,
317           p_ATTRIBUTE11    VARCHAR2,
318           p_ATTRIBUTE12    VARCHAR2,
319           p_ATTRIBUTE13    VARCHAR2,
320           p_ATTRIBUTE14    VARCHAR2,
321           p_ATTRIBUTE15    VARCHAR2,
322           p_ATTRIBUTE_CATEGORY    VARCHAR2,
323            p_object_version_number    IN        NUMBER default null,
324           p_TRAVEL_START_TIME        IN        DATE default null,
325           p_TRAVEL_END_TIME          In        DATE default null,
326           p_TRAVEL_DISTANCE_IN_KM    In        NUMBER default null,
327           p_DML_mode                           VARCHAR2
328           )
329 
330  IS
331           l_api_name_full varchar2(50) := 'CSF_DEBRIEF_HEADERS_PKG.UPDATE_ROW';
332           l_debrief_header   CSF_DEBRIEF_PUB.DEBRIEF_Rec_Type;
333           l_return_status    varchar2(100);
334           l_msg_count        NUMBER;
335           l_msg_data         varchar2(1000);
336           l_dml_mode	     varchar2(10) := p_DML_mode;
337  BEGIN
338           l_debrief_header.DEBRIEF_HEADER_ID := p_DEBRIEF_HEADER_ID   ;
339           l_debrief_header.DEBRIEF_NUMBER     := p_DEBRIEF_NUMBER    ;
340           l_debrief_header.DEBRIEF_DATE       := p_DEBRIEF_DATE    ;
341           l_debrief_header.DEBRIEF_STATUS_ID  := p_DEBRIEF_STATUS_ID    ;
342           l_debrief_header.TASK_ASSIGNMENT_ID := p_TASK_ASSIGNMENT_ID    ;
343           l_debrief_header.CREATED_BY         := p_CREATED_BY    ;
344           l_debrief_header.CREATION_DATE      := p_CREATION_DATE   ;
345           l_debrief_header.LAST_UPDATED_BY    := p_LAST_UPDATED_BY    ;
346           l_debrief_header.LAST_UPDATE_DATE   := p_LAST_UPDATE_DATE    ;
347           l_debrief_header.LAST_UPDATE_LOGIN  := p_LAST_UPDATE_LOGIN    ;
348           l_debrief_header.ATTRIBUTE1         := p_ATTRIBUTE1    ;
349           l_debrief_header.ATTRIBUTE2         := p_ATTRIBUTE2    ;
350            l_debrief_header.ATTRIBUTE3        := p_ATTRIBUTE3    ;
351           l_debrief_header.ATTRIBUTE4         := p_ATTRIBUTE4    ;
352           l_debrief_header.ATTRIBUTE5         := p_ATTRIBUTE5    ;
353           l_debrief_header.ATTRIBUTE6         := p_ATTRIBUTE6    ;
354           l_debrief_header.ATTRIBUTE7         := p_ATTRIBUTE7    ;
355           l_debrief_header.ATTRIBUTE8         := p_ATTRIBUTE8    ;
356           l_debrief_header.ATTRIBUTE9         := p_ATTRIBUTE9    ;
357           l_debrief_header.ATTRIBUTE10        := p_ATTRIBUTE10    ;
358           l_debrief_header.ATTRIBUTE11         := p_ATTRIBUTE11    ;
359           l_debrief_header.ATTRIBUTE12        := p_ATTRIBUTE12    ;
360           l_debrief_header.ATTRIBUTE13        := p_ATTRIBUTE13    ;
361           l_debrief_header.ATTRIBUTE14        := p_ATTRIBUTE14    ;
362           l_debrief_header.ATTRIBUTE15        := p_ATTRIBUTE15    ;
363           l_debrief_header.ATTRIBUTE_CATEGORY := p_ATTRIBUTE_CATEGORY;
364            l_debrief_header.object_version_number :=p_object_version_number;
365           l_debrief_header.TRAVEL_START_TIME      :=p_TRAVEL_START_TIME;
366           l_debrief_header.TRAVEL_END_TIME        :=p_TRAVEL_END_TIME;
367           l_debrief_header.TRAVEL_DISTANCE_IN_KM  :=p_TRAVEL_DISTANCE_IN_KM;
368 
369           if l_dml_mode is null then
370             l_dml_mode := 'BOTH';
371           end if;
372 
373     if l_dml_mode <> 'POST' then
374       IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_HEADERS_PKG',
375                                         'Update_Row',
376                                         'B', 'C')  THEN
377 
378               csf_debrief_headers_cuhk.update_debrief_header_Pre
379                   ( px_debrief_header     => l_debrief_header,
380                     x_return_status          => l_return_status,
381                     x_msg_count              => l_msg_count,
382                     x_msg_data               => l_msg_data
383                   ) ;
384       IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
385         --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Customer User Hook');
386         FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_CUST_USR_HK');
387         FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
388         FND_MSG_PUB.Add;
389         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
390       END IF;
391      END IF;
392     END IF;
393 
394 
395   -- Pre call to the Vertical Type User Hook
396   --
397   IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_HEADERS_PKG',
398                                       'Update_Row',
399                                       'B', 'V')  THEN
400     csf_debrief_headers_vuhk.update_debrief_header_Pre
401                 ( px_debrief_header     => l_debrief_header,
402                   x_return_status          => l_return_status,
403                   x_msg_count              => l_msg_count,
404                   x_msg_data               => l_msg_data
405                 ) ;
406 
407     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
408       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
409       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_VERT_USR_HK');
410       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
411       FND_MSG_PUB.Add;
412       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
413     END IF;
414   END IF;
415     user_hooks_rec.DEBRIEF_HEADER_ID := l_debrief_header.DEBRIEF_HEADER_ID;
416     csf_debrief_headers_iuhk.update_debrief_header_Pre
417                ( x_return_status          => l_return_status
418                 ) ;
419 
420     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
421       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
422       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_INT_USR_HK');
423       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
424       FND_MSG_PUB.Add;
425       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
426     END IF;
427 
428     if l_dml_mode = 'BOTH' then
429 
430         Update CSF_DEBRIEF_HEADERS
431         SET
432                   DEBRIEF_NUMBER = decode( l_debrief_header.DEBRIEF_NUMBER, FND_API.G_MISS_CHAR, DEBRIEF_NUMBER, l_debrief_header.DEBRIEF_NUMBER),
433                   DEBRIEF_DATE = decode( l_debrief_header.DEBRIEF_DATE, FND_API.G_MISS_DATE, DEBRIEF_DATE, l_debrief_header.DEBRIEF_DATE),
434                   DEBRIEF_STATUS_ID = decode( l_debrief_header.DEBRIEF_STATUS_ID, FND_API.G_MISS_NUM, DEBRIEF_STATUS_ID, l_debrief_header.DEBRIEF_STATUS_ID),
435                   TASK_ASSIGNMENT_ID = decode( l_debrief_header.TASK_ASSIGNMENT_ID, FND_API.G_MISS_NUM, TASK_ASSIGNMENT_ID, l_debrief_header.TASK_ASSIGNMENT_ID),
436                   CREATED_BY = decode( l_debrief_header.CREATED_BY, FND_API.G_MISS_NUM, CREATED_BY, l_debrief_header.CREATED_BY),
437                   CREATION_DATE = decode( l_debrief_header.CREATION_DATE, FND_API.G_MISS_DATE, CREATION_DATE, l_debrief_header.CREATION_DATE),
438                   LAST_UPDATED_BY = decode( l_debrief_header.LAST_UPDATED_BY, FND_API.G_MISS_NUM, LAST_UPDATED_BY, l_debrief_header.LAST_UPDATED_BY),
439                   LAST_UPDATE_DATE = decode( l_debrief_header.LAST_UPDATE_DATE, FND_API.G_MISS_DATE, LAST_UPDATE_DATE, l_debrief_header.LAST_UPDATE_DATE),
440                   LAST_UPDATE_LOGIN = decode( l_debrief_header.LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, LAST_UPDATE_LOGIN, l_debrief_header.LAST_UPDATE_LOGIN),
441                   ATTRIBUTE1 = decode( l_debrief_header.ATTRIBUTE1, FND_API.G_MISS_CHAR, ATTRIBUTE1, l_debrief_header.ATTRIBUTE1),
442                   ATTRIBUTE2 = decode( l_debrief_header.ATTRIBUTE2, FND_API.G_MISS_CHAR, ATTRIBUTE2, l_debrief_header.ATTRIBUTE2),
443                   ATTRIBUTE3 = decode( l_debrief_header.ATTRIBUTE3, FND_API.G_MISS_CHAR, ATTRIBUTE3, l_debrief_header.ATTRIBUTE3),
444                   ATTRIBUTE4 = decode( l_debrief_header.ATTRIBUTE4, FND_API.G_MISS_CHAR, ATTRIBUTE4, l_debrief_header.ATTRIBUTE4),
445                   ATTRIBUTE5 = decode( l_debrief_header.ATTRIBUTE5, FND_API.G_MISS_CHAR, ATTRIBUTE5, l_debrief_header.ATTRIBUTE5),
446                   ATTRIBUTE6 = decode( l_debrief_header.ATTRIBUTE6, FND_API.G_MISS_CHAR, ATTRIBUTE6, l_debrief_header.ATTRIBUTE6),
447                   ATTRIBUTE7 = decode( l_debrief_header.ATTRIBUTE7, FND_API.G_MISS_CHAR, ATTRIBUTE7, l_debrief_header.ATTRIBUTE7),
448                   ATTRIBUTE8 = decode( l_debrief_header.ATTRIBUTE8, FND_API.G_MISS_CHAR, ATTRIBUTE8, l_debrief_header.ATTRIBUTE8),
449                   ATTRIBUTE9 = decode( l_debrief_header.ATTRIBUTE9, FND_API.G_MISS_CHAR, ATTRIBUTE9, l_debrief_header.ATTRIBUTE9),
450                   ATTRIBUTE10 = decode( l_debrief_header.ATTRIBUTE10, FND_API.G_MISS_CHAR, ATTRIBUTE10, l_debrief_header.ATTRIBUTE10),
451                   ATTRIBUTE11 = decode( l_debrief_header.ATTRIBUTE11, FND_API.G_MISS_CHAR, ATTRIBUTE11, l_debrief_header.ATTRIBUTE11),
452                   ATTRIBUTE12 = decode( l_debrief_header.ATTRIBUTE12, FND_API.G_MISS_CHAR, ATTRIBUTE12, l_debrief_header.ATTRIBUTE12),
453                   ATTRIBUTE13 = decode( l_debrief_header.ATTRIBUTE13, FND_API.G_MISS_CHAR, ATTRIBUTE13, l_debrief_header.ATTRIBUTE13),
454                   ATTRIBUTE14 = decode( l_debrief_header.ATTRIBUTE14, FND_API.G_MISS_CHAR, ATTRIBUTE14, l_debrief_header.ATTRIBUTE14),
455                   ATTRIBUTE15 = decode( l_debrief_header.ATTRIBUTE15, FND_API.G_MISS_CHAR, ATTRIBUTE15, l_debrief_header.ATTRIBUTE15),
456                   ATTRIBUTE_CATEGORY = decode( l_debrief_header.ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, ATTRIBUTE_CATEGORY, l_debrief_header.ATTRIBUTE_CATEGORY),
457                   OBJECT_VERSION_NUMBER =  decode( l_debrief_header.OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, OBJECT_VERSION_NUMBER,l_debrief_header.OBJECT_VERSION_NUMBER),
458                   TRAVEL_START_TIME  = decode( l_debrief_header.TRAVEL_START_TIME, FND_API.G_MISS_DATE, TRAVEL_START_TIME, l_debrief_header.TRAVEL_START_TIME),
459                   TRAVEL_END_TIME  = decode( l_debrief_header.TRAVEL_END_TIME, FND_API.G_MISS_DATE, TRAVEL_END_TIME, l_debrief_header.TRAVEL_END_TIME),
460                   TRAVEL_DISTANCE_IN_KM = decode( l_debrief_header.TRAVEL_DISTANCE_IN_KM, FND_API.G_MISS_NUM, TRAVEL_DISTANCE_IN_KM, l_debrief_header.TRAVEL_DISTANCE_IN_KM)
461 
462         where DEBRIEF_HEADER_ID = l_debrief_header.DEBRIEF_HEADER_ID;
463 
464         If (SQL%NOTFOUND) then
465             RAISE NO_DATA_FOUND;
466         End If;
467     end if;
468 
469     if l_dml_mode <> 'PRE' then
470         IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_HEADERS_PKG',
471                                           'Update_Row',
472                                           'A', 'C')  THEN
473 
474                 csf_debrief_headers_cuhk.update_debrief_header_post
475                     ( px_debrief_header     => l_debrief_header,
476                       x_return_status          => l_return_status,
477                       x_msg_count              => l_msg_count,
478                       x_msg_data               => l_msg_data
479                     ) ;
480         IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
481           --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Customer User Hook');
482           FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_CUST_USR_HK');
483           FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
484           FND_MSG_PUB.Add;
485           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
486         END IF;
487        END IF;
488    END IF;
489 
490 
491   -- Pre call to the Vertical Type User Hook
492   --
493   IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_HEADERS_PKG',
494                                       'Update_Row',
495                                       'A', 'V')  THEN
496     csf_debrief_headers_vuhk.update_debrief_header_post
497                 ( px_debrief_header     => l_debrief_header,
498                   x_return_status          => l_return_status,
499                   x_msg_count              => l_msg_count,
500                   x_msg_data               => l_msg_data
501                 ) ;
502 
503     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
504       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
505       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_VERT_USR_HK');
506       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
507       FND_MSG_PUB.Add;
508       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
509     END IF;
510   END IF;
511     csf_debrief_headers_iuhk.update_debrief_header_post
512                 ( x_return_status          => l_return_status
513                 ) ;
514 
515     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
516       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
517       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_INT_USR_HK');
518       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
519       FND_MSG_PUB.Add;
520       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
521     END IF;
522 END Update_Row;
523 
524 PROCEDURE Delete_Row(
525     p_DEBRIEF_HEADER_ID  NUMBER,
526     p_DML_mode           VARCHAR2)
527  IS
528    l_return_status    varchar2(100);
529    l_msg_count        NUMBER;
530    l_msg_data         varchar2(1000);
531    l_api_name_full varchar2(50) := 'CSF_DEBRIEF_HEADERS_PKG.DELETE_ROW';
532    l_dml_mode	      varchar2(10) := p_DML_mode;
533  BEGIN
534 
535     if l_dml_mode is null then
536       l_dml_mode := 'BOTH';
537     end if;
538 
539     if l_dml_mode <> 'POST' then
540         IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_HEADERS_PKG',
541                                           'Delete_Row',
542                                           'B', 'C')  THEN
543 
544                 csf_debrief_headers_cuhk.delete_debrief_header_Pre
545                     ( p_header_id     => p_DEBRIEF_HEADER_ID,
546                       x_return_status          => l_return_status,
547                       x_msg_count              => l_msg_count,
548                       x_msg_data               => l_msg_data
549                     ) ;
550         IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
551           --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Customer User Hook');
552           FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_CUST_USR_HK');
553           FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
554           FND_MSG_PUB.Add;
555           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
556         END IF;
557        END IF;
558     END IF;
559 
560   -- Pre call to the Vertical Type User Hook
561   --
562   IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_HEADERS_PKG',
563                                       'Delete_Row',
564                                       'B', 'V')  THEN
565     csf_debrief_headers_vuhk.delete_debrief_header_Pre
566                 ( p_header_id              => p_DEBRIEF_HEADER_ID,
567                   x_return_status          => l_return_status,
568                   x_msg_count              => l_msg_count,
569                   x_msg_data               => l_msg_data
570                 ) ;
571 
572     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
573       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
574       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_VERT_USR_HK');
575       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
576       FND_MSG_PUB.Add;
577       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
578     END IF;
579   END IF;
580     user_hooks_rec.DEBRIEF_HEADER_ID := p_DEBRIEF_HEADER_ID;
581     csf_debrief_headers_iuhk.delete_debrief_header_Pre
582                 ( x_return_status          => l_return_status
583                 ) ;
584 
585     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
586       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
587       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_INT_USR_HK');
588       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
589       FND_MSG_PUB.Add;
590       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
591     END IF;
592 
593    if l_dml_mode = 'BOTH' then
594        DELETE FROM CSF_DEBRIEF_HEADERS
595         WHERE DEBRIEF_HEADER_ID = p_DEBRIEF_HEADER_ID;
596        If (SQL%NOTFOUND) then
597            RAISE NO_DATA_FOUND;
598        End If;
599    end if;
600 
601    if l_dml_mode <> 'PRE' then
602        IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_HEADERS_PKG',
603                                           'Delete_Row',
604                                           'A', 'C')  THEN
605 
606                 csf_debrief_headers_cuhk.delete_debrief_header_Post
607                     ( p_header_id     => p_DEBRIEF_HEADER_ID,
608                       x_return_status          => l_return_status,
609                       x_msg_count              => l_msg_count,
610                       x_msg_data               => l_msg_data
611                     ) ;
612         IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
613           --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Customer User Hook');
614           FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_CUST_USR_HK');
615           FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
616           FND_MSG_PUB.Add;
617           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
618         END IF;
619        END IF;
620     END IF;
621 
622 
623   -- Pre call to the Vertical Type User Hook
624   --
625   IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_HEADERS_PKG',
626                                       'Delete_Row',
627                                       'A', 'V')  THEN
628     csf_debrief_headers_vuhk.delete_debrief_header_post
629                 ( p_header_id     => p_DEBRIEF_HEADER_ID,
630                   x_return_status          => l_return_status,
631                   x_msg_count              => l_msg_count,
632                   x_msg_data               => l_msg_data
633                 ) ;
634 
635     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
636       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
637       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_VERT_USR_HK');
638       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
639       FND_MSG_PUB.Add;
640       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
641     END IF;
642   END IF;
643     csf_debrief_headers_iuhk.Delete_debrief_header_post
644                 ( x_return_status          => l_return_status
645                 ) ;
646 
647     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
648       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
649       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_INT_USR_HK');
650       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
651       FND_MSG_PUB.Add;
652       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
653     END IF;
654  END Delete_Row;
655 
656 PROCEDURE Lock_Row(
657           p_DEBRIEF_HEADER_ID    NUMBER,
658           p_DEBRIEF_NUMBER    VARCHAR2,
659           p_DEBRIEF_DATE    DATE,
660           p_DEBRIEF_STATUS_ID    NUMBER,
661           p_TASK_ASSIGNMENT_ID    NUMBER,
662           p_CREATED_BY    NUMBER,
663           p_CREATION_DATE    DATE,
664           p_LAST_UPDATED_BY    NUMBER,
665           p_LAST_UPDATE_DATE    DATE,
666           p_LAST_UPDATE_LOGIN    NUMBER,
667           p_ATTRIBUTE1    VARCHAR2,
668           p_ATTRIBUTE2    VARCHAR2,
669           p_ATTRIBUTE3    VARCHAR2,
670           p_ATTRIBUTE4    VARCHAR2,
671           p_ATTRIBUTE5    VARCHAR2,
672           p_ATTRIBUTE6    VARCHAR2,
673           p_ATTRIBUTE7    VARCHAR2,
674           p_ATTRIBUTE8    VARCHAR2,
675           p_ATTRIBUTE9    VARCHAR2,
676           p_ATTRIBUTE10    VARCHAR2,
677           p_ATTRIBUTE11    VARCHAR2,
678           p_ATTRIBUTE12    VARCHAR2,
679           p_ATTRIBUTE13    VARCHAR2,
680           p_ATTRIBUTE14    VARCHAR2,
681           p_ATTRIBUTE15    VARCHAR2,
682           p_ATTRIBUTE_CATEGORY    VARCHAR2,
683            p_object_version_number    IN        NUMBER default null,
684           p_TRAVEL_START_TIME        IN        DATE default null,
685           p_TRAVEL_END_TIME          In        DATE default null,
686           p_TRAVEL_DISTANCE_IN_KM    In        NUMBER default null
687           )
688 
689  IS
690    CURSOR C IS
691         SELECT *
692          FROM CSF_DEBRIEF_HEADERS
693         WHERE DEBRIEF_HEADER_ID =  p_DEBRIEF_HEADER_ID
694         FOR UPDATE of DEBRIEF_HEADER_ID NOWAIT;
695    Recinfo C%ROWTYPE;
696  BEGIN
697     OPEN C;
698     FETCH C INTO Recinfo;
699     If (C%NOTFOUND) then
700         CLOSE C;
701         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
702         APP_EXCEPTION.RAISE_EXCEPTION;
703     End If;
704     CLOSE C;
705     if (
706            (      Recinfo.DEBRIEF_HEADER_ID = p_DEBRIEF_HEADER_ID)
707        AND (    ( Recinfo.DEBRIEF_NUMBER = p_DEBRIEF_NUMBER)
708             OR (    ( Recinfo.DEBRIEF_NUMBER IS NULL )
709                 AND (  p_DEBRIEF_NUMBER IS NULL )))
710        AND (    ( Recinfo.DEBRIEF_DATE = p_DEBRIEF_DATE)
711             OR (    ( Recinfo.DEBRIEF_DATE IS NULL )
712                 AND (  p_DEBRIEF_DATE IS NULL )))
713        AND (    ( Recinfo.DEBRIEF_STATUS_ID = p_DEBRIEF_STATUS_ID)
714             OR (    ( Recinfo.DEBRIEF_STATUS_ID IS NULL )
715                 AND (  p_DEBRIEF_STATUS_ID IS NULL )))
716        AND (    ( Recinfo.TASK_ASSIGNMENT_ID = p_TASK_ASSIGNMENT_ID)
717             OR (    ( Recinfo.TASK_ASSIGNMENT_ID IS NULL )
718                 AND (  p_TASK_ASSIGNMENT_ID IS NULL )))
719        AND (    ( Recinfo.CREATED_BY = p_CREATED_BY)
720             OR (    ( Recinfo.CREATED_BY IS NULL )
721                 AND (  p_CREATED_BY IS NULL )))
722        AND (    ( Recinfo.CREATION_DATE = p_CREATION_DATE)
723             OR (    ( Recinfo.CREATION_DATE IS NULL )
724                 AND (  p_CREATION_DATE IS NULL )))
725        AND (    ( Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
726             OR (    ( Recinfo.LAST_UPDATED_BY IS NULL )
727                 AND (  p_LAST_UPDATED_BY IS NULL )))
728        AND (    ( Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
729             OR (    ( Recinfo.LAST_UPDATE_DATE IS NULL )
730                 AND (  p_LAST_UPDATE_DATE IS NULL )))
731        AND (    ( Recinfo.LAST_UPDATE_LOGIN = p_LAST_UPDATE_LOGIN)
732             OR (    ( Recinfo.LAST_UPDATE_LOGIN IS NULL )
733                 AND (  p_LAST_UPDATE_LOGIN IS NULL )))
734        AND (    ( Recinfo.ATTRIBUTE1 = p_ATTRIBUTE1)
735             OR (    ( Recinfo.ATTRIBUTE1 IS NULL )
736                 AND (  p_ATTRIBUTE1 IS NULL )))
737        AND (    ( Recinfo.ATTRIBUTE2 = p_ATTRIBUTE2)
738             OR (    ( Recinfo.ATTRIBUTE2 IS NULL )
739                 AND (  p_ATTRIBUTE2 IS NULL )))
740        AND (    ( Recinfo.ATTRIBUTE3 = p_ATTRIBUTE3)
741             OR (    ( Recinfo.ATTRIBUTE3 IS NULL )
742                 AND (  p_ATTRIBUTE3 IS NULL )))
743        AND (    ( Recinfo.ATTRIBUTE4 = p_ATTRIBUTE4)
744             OR (    ( Recinfo.ATTRIBUTE4 IS NULL )
745                 AND (  p_ATTRIBUTE4 IS NULL )))
746        AND (    ( Recinfo.ATTRIBUTE5 = p_ATTRIBUTE5)
747             OR (    ( Recinfo.ATTRIBUTE5 IS NULL )
748                 AND (  p_ATTRIBUTE5 IS NULL )))
749        AND (    ( Recinfo.ATTRIBUTE6 = p_ATTRIBUTE6)
750             OR (    ( Recinfo.ATTRIBUTE6 IS NULL )
751                 AND (  p_ATTRIBUTE6 IS NULL )))
752        AND (    ( Recinfo.ATTRIBUTE7 = p_ATTRIBUTE7)
753             OR (    ( Recinfo.ATTRIBUTE7 IS NULL )
754                 AND (  p_ATTRIBUTE7 IS NULL )))
755        AND (    ( Recinfo.ATTRIBUTE8 = p_ATTRIBUTE8)
756             OR (    ( Recinfo.ATTRIBUTE8 IS NULL )
757                 AND (  p_ATTRIBUTE8 IS NULL )))
758        AND (    ( Recinfo.ATTRIBUTE9 = p_ATTRIBUTE9)
759             OR (    ( Recinfo.ATTRIBUTE9 IS NULL )
760                 AND (  p_ATTRIBUTE9 IS NULL )))
761        AND (    ( Recinfo.ATTRIBUTE10 = p_ATTRIBUTE10)
762             OR (    ( Recinfo.ATTRIBUTE10 IS NULL )
763                 AND (  p_ATTRIBUTE10 IS NULL )))
764        AND (    ( Recinfo.ATTRIBUTE11 = p_ATTRIBUTE11)
765             OR (    ( Recinfo.ATTRIBUTE11 IS NULL )
766                 AND (  p_ATTRIBUTE11 IS NULL )))
767        AND (    ( Recinfo.ATTRIBUTE12 = p_ATTRIBUTE12)
768             OR (    ( Recinfo.ATTRIBUTE12 IS NULL )
769                 AND (  p_ATTRIBUTE12 IS NULL )))
770        AND (    ( Recinfo.ATTRIBUTE13 = p_ATTRIBUTE13)
771             OR (    ( Recinfo.ATTRIBUTE13 IS NULL )
772                 AND (  p_ATTRIBUTE13 IS NULL )))
773        AND (    ( Recinfo.ATTRIBUTE14 = p_ATTRIBUTE14)
774             OR (    ( Recinfo.ATTRIBUTE14 IS NULL )
775                 AND (  p_ATTRIBUTE14 IS NULL )))
776        AND (    ( Recinfo.ATTRIBUTE15 = p_ATTRIBUTE15)
777             OR (    ( Recinfo.ATTRIBUTE15 IS NULL )
778                 AND (  p_ATTRIBUTE15 IS NULL )))
779        AND (    ( Recinfo.ATTRIBUTE_CATEGORY = p_ATTRIBUTE_CATEGORY)
780             OR (    ( Recinfo.ATTRIBUTE_CATEGORY IS NULL )
781                 AND (  p_ATTRIBUTE_CATEGORY IS NULL )))
782        AND (    ( Recinfo.OBJECT_VERSION_NUMBER = p_OBJECT_VERSION_NUMBER)
783             OR (    ( Recinfo.OBJECT_VERSION_NUMBER IS NULL )
784                 AND (  p_OBJECT_VERSION_NUMBER IS NULL )))
785        AND (    ( Recinfo.TRAVEL_START_TIME = p_TRAVEL_START_TIME)
786             OR (    ( Recinfo.TRAVEL_START_TIME IS NULL )
787                 AND (  p_TRAVEL_START_TIME IS NULL )))
788        AND (    ( Recinfo.TRAVEL_END_TIME = p_TRAVEL_END_TIME)
789             OR (    ( Recinfo.TRAVEL_END_TIME IS NULL )
790                 AND (  p_TRAVEL_END_TIME IS NULL )))
791        AND (    ( Recinfo.TRAVEL_DISTANCE_IN_KM = p_TRAVEL_DISTANCE_IN_KM)
792             OR (    ( Recinfo.TRAVEL_DISTANCE_IN_KM IS NULL )
793                 AND (  p_TRAVEL_DISTANCE_IN_KM IS NULL )))
794        ) then
795        return;
796    else
797        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
798        APP_EXCEPTION.RAISE_EXCEPTION;
799    End If;
800 END Lock_Row;
801 
802 FUNCTION GET_RESOURCE_NAME(
803     p_resource_id   number,
804     p_resource_type varchar2)
805     RETURN varchar2 is
806 
807     cursor resource_name is
808     select resource_name from jtf_rs_all_resources_vl
809     where  resource_id = p_resource_id
810     and    resource_type = p_resource_type;
811 
812     l_resource_name varchar2(200);
813 
814     begin
815       open resource_name;
816       fetch resource_name into l_resource_name;
817       close resource_name;
818       return l_resource_name;
819     end;
820 
821 END CSF_DEBRIEF_HEADERS_PKG;