[Home] [Help]
PACKAGE BODY: APPS.CSF_DEBRIEF_PUB
Source
1 PACKAGE BODY CSF_DEBRIEF_PUB as
2 /* $Header: csfpdbfb.pls 120.2 2007/10/17 08:13:35 hhaugeru noship $ */
3 -- Start of Comments
4 -- Package name : CSF_DEBRIEF_PUB
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 -- End of Comments
9
10 G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSF_DEBRIEF_PUB';
11 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csfpdbfb.pls';
12
13 PROCEDURE Convert_Debrief_Value_To_Id (
14 p_Debrief_rec IN Debrief_REC_TYPE,
15 x_pvt_Debrief_rec OUT NOCOPY CSF_DEBRIEF_PVT.Debrief_REC_TYPE
16 )
17 IS
18 l_any_errors BOOLEAN := FALSE;
19 l_return_status VARCHAR2(1);
20 l_is_duplicate VARCHAR2(10);
21 l_val varchar2(30);
22 l_id NUMBER;
23 l_status_code VARCHAR2(30) := NULL;
24
25 l_pvt_Debrief_rec csf_debrief_pvt.Debrief_REC_TYPE;
26
27 BEGIN
28 -- Now copy the rest of the columns to the private record
29
30
31
32
33 --
34 l_pvt_Debrief_rec.debrief_header_id := p_Debrief_rec.debrief_header_id;
35 l_pvt_Debrief_rec.debrief_number := p_Debrief_rec.debrief_number;
36 l_pvt_Debrief_rec.debrief_date := p_Debrief_rec.debrief_date;
37 l_pvt_Debrief_rec.debrief_status_id := p_Debrief_rec.debrief_status_id;
38 l_pvt_Debrief_rec.task_assignment_id := p_Debrief_rec.task_assignment_id;
39 l_pvt_Debrief_rec.attribute_category := p_Debrief_rec.attribute_category;
40 l_pvt_Debrief_rec.last_Update_date := p_Debrief_rec.last_update_date;
41 l_pvt_Debrief_rec.attribute1 := p_Debrief_rec.attribute1;
42 l_pvt_Debrief_rec.attribute2 := p_Debrief_rec.attribute2;
43 l_pvt_Debrief_rec.attribute3 := p_Debrief_rec.attribute3;
44 l_pvt_Debrief_rec.attribute4 := p_Debrief_rec.attribute4;
45 l_pvt_Debrief_rec.attribute5 := p_Debrief_rec.attribute5;
46 l_pvt_Debrief_rec.attribute6 := p_Debrief_rec.attribute6;
47 l_pvt_Debrief_rec.attribute7 := p_Debrief_rec.attribute7;
48 l_pvt_Debrief_rec.attribute8 := p_Debrief_rec.attribute8;
49 l_pvt_Debrief_rec.attribute9 := p_Debrief_rec.attribute9;
50 l_pvt_Debrief_rec.attribute10 := p_Debrief_rec.attribute10;
51 l_pvt_Debrief_rec.attribute11 := p_Debrief_rec.attribute11;
52 l_pvt_Debrief_rec.attribute12 := p_Debrief_rec.attribute12;
53 l_pvt_Debrief_rec.attribute13 := p_Debrief_rec.attribute13;
54 l_pvt_Debrief_rec.attribute14 := p_Debrief_rec.attribute14;
55 l_pvt_Debrief_rec.attribute15 := p_Debrief_rec.attribute15;
56 l_pvt_Debrief_rec.created_by := p_Debrief_rec.created_by;
57 l_pvt_Debrief_rec.creation_date := p_Debrief_rec.creation_date;
58 l_pvt_Debrief_rec.last_updated_by := p_Debrief_rec.last_updated_by;
59 l_pvt_Debrief_rec.last_update_date := p_Debrief_rec.last_update_date;
60 l_pvt_Debrief_rec.last_update_login := p_Debrief_rec.last_update_login;
61
62 l_pvt_Debrief_rec.object_version_number := p_Debrief_rec.object_version_number;
63 l_pvt_Debrief_rec.TRAVEL_START_TIME := p_Debrief_rec.TRAVEL_START_TIME;
64 l_pvt_Debrief_rec.TRAVEL_END_TIME := p_Debrief_rec.TRAVEL_END_TIME;
65 l_pvt_Debrief_rec.TRAVEL_DISTANCE_IN_KM := p_Debrief_rec.TRAVEL_DISTANCE_IN_KM;
66
67 -- End
68 x_pvt_Debrief_rec := l_pvt_Debrief_rec;
69 -- If there was an error in processing the row, then raise an error
70 --
71 IF l_any_errors
72 THEN
73 raise FND_API.G_EXC_ERROR;
74 END IF;
75
76 END Convert_Debrief_Value_To_Id;
77
78 /******************** need to be deleted later
79
80 PROCEDURE Convert_Interest_Values_To_Ids (p_interest_type IN VARCHAR2,
81 p_interest_type_id IN NUMBER,
82 p_primary_interest_code IN VARCHAR2,
83 p_primary_interest_code_id IN NUMBER,
84 p_secondary_interest_code IN VARCHAR2,
85 p_secondary_interest_code_id IN NUMBER,
86 p_return_status OUT NOCOPY VARCHAR2,
87 p_out_interest_type_id OUT NOCOPY NUMBER,
88 p_out_primary_interest_code_id OUT NOCOPY NUMBER,
89 p_out_second_interest_code_id OUT NOCOPY NUMBER
90 ) IS
91 Cursor C_Get_Int_Type (X_Int_Type VARCHAR2) IS
92 SELECT interest_type_id
93 FROM as_interest_types
94 WHERE nls_upper(X_Int_Type) = nls_upper(interest_type)
95 and (interest_type like nls_upper(substr(X_Int_Type, 1, 1) || '%') or
96 interest_type like lower(substr(X_Int_Type, 1, 1) || '%'));
97
98 Cursor C_Get_Int_Code (X_Int_Code VARCHAR2, X_Int_Type_Id NUMBER) IS
99 SELECT interest_code_id
100 FROM as_interest_codes
101 WHERE nls_upper(X_Int_Code) = nls_upper(code)
102 and interest_type_id = X_Int_Type_Id;
103
104 l_interest_type_id NUMBER;
105 l_interest_code_id NUMBER;
106 l_secondary_interest_code_id NUMBER;
107 BEGIN
108
109 p_return_status := FND_API.G_RET_STS_SUCCESS;
110
111 -- Initialize Out Variables
112 p_out_interest_type_id := NULL;
113 p_out_primary_interest_code_id := NULL;
114 p_out_second_interest_code_id := NULL;
115
116 -- Convert Interest Type
117 --
118 IF (p_interest_type_id is not NULL and
119 p_interest_type_id <> FND_API.G_MISS_NUM)
120 THEN
121 p_out_interest_type_id := p_interest_type_id;
122 l_interest_type_id := p_interest_type_id;
123
124 IF (p_interest_type is not NULL and
125 p_interest_type <> FND_API.G_MISS_CHAR)
126 THEN
127 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_SUCCESS)
128 THEN
129 FND_MESSAGE.Set_Name ('CSF', 'API_ATTRIBUTE_IGNORED');
130 FND_MESSAGE.Set_Token ('COLUMN', 'INTEREST_TYPE', FALSE);
131 FND_MSG_PUB.Add;
132 END IF;
133 END IF;
134
135 ELSIF (p_interest_type is not NULL and
136 p_interest_type <> FND_API.G_MISS_CHAR)
137 THEN
138 OPEN C_Get_Int_Type ( p_interest_type );
139 FETCH C_Get_Int_Type INTO l_interest_type_id;
140 CLOSE C_Get_Int_Type;
141
142 IF (l_interest_type_id IS NULL)
143 THEN
144 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
145 THEN
146 FND_MESSAGE.Set_Name ('CSF', 'API_ATTRIBUTE_CONVERSION_ERROR');
147 FND_MESSAGE.Set_Token ('COLUMN', 'INTEREST_TYPE', FALSE);
148 FND_MESSAGE.Set_Token('VALUE', p_interest_type, FALSE);
149 FND_MSG_PUB.Add;
150 END IF;
151
152 raise FND_API.G_EXC_ERROR;
153
154 ELSE
155 p_out_interest_type_id := l_interest_type_id;
156 END IF;
157
158 ELSE
159 -- If no interest type (value or id) exists, then this row is invalid
160 --
161 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
162 THEN
163 FND_MESSAGE.Set_Name ('CSF','API_MISSING_ID');
164 FND_MESSAGE.Set_Token ('COLUMN', 'INTEREST_TYPE', FALSE);
165 FND_MSG_PUB.Add;
166 END IF;
167
168 raise FND_API.G_EXC_ERROR;
169 END IF;
170
171 -- Convert Primary Code
172 --
173 IF (p_primary_interest_code_id is not NULL and
174 p_primary_interest_code_id <> FND_API.G_MISS_NUM)
175 THEN
176 p_out_primary_interest_code_id := p_primary_interest_code_id;
177 l_interest_code_id := p_primary_interest_code_id;
178
179 IF (p_primary_interest_code is not NULL and
180 p_primary_interest_code <> FND_API.G_MISS_CHAR)
181 THEN
182 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_SUCCESS)
183 THEN
184 FND_MESSAGE.Set_Name ('CSF','API_ATTRIBUTE_IGNORED');
185 FND_MESSAGE.Set_Token ('COLUMN', 'PRIMARY_INTEREST_CODE', FALSE);
186 FND_MSG_PUB.Add;
187 END IF;
188 END IF;
189
190 ELSIF (p_primary_interest_code is not NULL and
191 p_primary_interest_code <> FND_API.G_MISS_CHAR)
192 THEN
193 OPEN C_Get_Int_Code ( p_primary_interest_code,
194 l_interest_type_id );
195 FETCH C_Get_Int_Code INTO l_interest_code_id;
196 CLOSE C_Get_Int_Code;
197
198 IF (l_interest_code_id IS NULL)
199 THEN
200 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
201 THEN
202 FND_MESSAGE.Set_Name ('CSF', 'API_ATTRIBUTE_CONVERSION_ERROR');
203 FND_MESSAGE.Set_Token ('COLUMN', 'PRIMARY_INTEREST_CODE', FALSE);
204 FND_MESSAGE.Set_Token('VALUE', p_primary_interest_code, FALSE);
205 FND_MSG_PUB.Add;
206 END IF;
207
208 p_return_status := FND_API.G_RET_STS_ERROR;
209
210 ELSE
211 p_out_primary_interest_code_id := l_interest_code_id;
212 END IF;
213 END IF;
214
215 -- Convert Secondary Code
216 --
217 IF (p_secondary_interest_code_id is not NULL and
218 p_secondary_interest_code_id <> FND_API.G_MISS_NUM)
219 THEN
220 p_out_second_interest_code_id := p_secondary_interest_code_id;
221 l_secondary_interest_code_id := p_secondary_interest_code_id;
222
223 IF (p_secondary_interest_code is not NULL and
224 p_secondary_interest_code <> FND_API.G_MISS_CHAR)
225 THEN
226 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_SUCCESS)
227 THEN
228 FND_MESSAGE.Set_Name ('CSF', 'API_ATTRIBUTE_IGNORED');
229 FND_MESSAGE.Set_Token ('COLUMN', 'SECONDARY_INTEREST_CODE', FALSE);
230 FND_MSG_PUB.Add;
231 END IF;
232 END IF;
233
234 ELSIF (p_secondary_interest_code is not NULL and
235 p_secondary_interest_code <> FND_API.G_MISS_CHAR)
236 THEN
237 OPEN C_Get_Int_Code ( p_secondary_interest_code,
238 l_interest_type_id );
239 FETCH C_Get_Int_Code INTO l_secondary_interest_code_id;
240 CLOSE C_Get_Int_Code;
241
242 IF (l_secondary_interest_code_id IS NULL)
243 THEN
244 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
245 THEN
246 FND_MESSAGE.Set_Name ('CSF', 'API_ATTRIBUTE_CONVERSION_ERROR');
247 FND_MESSAGE.Set_Token ('COLUMN', 'SECONDARY_INTEREST_CODE', FALSE);
248 FND_MESSAGE.Set_Token('VALUE', p_secondary_interest_code, FALSE);
249 FND_MSG_PUB.Add;
250 END IF;
251 p_return_status := FND_API.G_RET_STS_ERROR;
252
253 ELSE
254 p_out_second_interest_code_id := l_secondary_interest_code_id;
255
256 END IF;
257 END IF;
258
259 END Convert_Interest_Values_To_Ids;
260
261 ****************************/
262
263 PROCEDURE Conv_DEBRIEF_LINE_ValToId(
264 P_DEBRIEF_LINE_tbl IN DEBRIEF_LINE_tbl_Type,
265 x_pvt_DEBRIEF_LINE_tbl OUT NOCOPY CSF_DEBRIEF_PVT.DEBRIEF_LINE_tbl_Type
266 )
267 IS
268 l_any_errors BOOLEAN := FALSE;
269 l_any_row_errors BOOLEAN := FALSE;
270 l_return_status VARCHAR2(1);
271 l_dummy_description VARCHAR2(30);
272 l_pub_debrief_line_rec debrief_line_rec_type;
273 l_pvt_debrief_line_rec CSF_DEBRIEF_PVT.debrief_line_rec_type;
274 lx_pvt_debrief_line_tbl CSF_DEBRIEF_PVT.debrief_line_tbl_type;
275 l_count NUMBER := p_debrief_line_tbl.count;
276 p_debrief_line_rec debrief_line_rec_type;
277 x_return_status VARCHAR2(1);
278 x_msg_data VARCHAR2(2000);
279 x_msg_count NUMBER;
280
281
282 BEGIN
283 /*
284 lx_pvt_debrief_line_tbl := p_debrief_line_tbl;
285 x_pvt_debrief_line_tbl := lx_pvt_debrief_line_tbl;
286 */
287
288
289 FOR l_curr_row in 1..l_count
290 LOOP
291 BEGIN
292
293 -- Now copy all (the rest ) of the columns to the private record
294 p_debrief_line_rec := p_debrief_line_tbl(l_curr_row);
295
296 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).DEBRIEF_LINE_ID := P_DEBRIEF_LINE_Rec.DEBRIEF_LINE_ID;
297 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).LAST_UPDATE_DATE := P_DEBRIEF_LINE_Rec.LAST_UPDATE_DATE;
298 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).LAST_UPDATED_BY := P_DEBRIEF_LINE_Rec.LAST_UPDATED_BY;
299 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).CREATION_DATE := P_DEBRIEF_LINE_Rec.CREATION_DATE;
300 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).CREATED_BY := P_DEBRIEF_LINE_Rec.CREATED_BY;
301 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).LAST_UPDATE_LOGIN := P_DEBRIEF_LINE_Rec.LAST_UPDATE_LOGIN;
302 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).DEBRIEF_HEADER_ID := P_DEBRIEF_LINE_Rec.DEBRIEF_HEADER_ID;
303 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).DEBRIEF_LINE_NUMBER := P_DEBRIEF_LINE_Rec. DEBRIEF_LINE_NUMBER ;
304 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).SERVICE_DATE := P_DEBRIEF_LINE_Rec.SERVICE_DATE;
305 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).BUSINESS_PROCESS_ID := P_DEBRIEF_LINE_Rec.BUSINESS_PROCESS_ID;
306 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).TXN_BILLING_TYPE_ID
307 := P_DEBRIEF_LINE_Rec.TXN_BILLING_TYPE_ID;
308
309 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).INVENTORY_ITEM_ID := P_DEBRIEF_LINE_Rec.INVENTORY_ITEM_ID;
310 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).INSTANCE_ID := P_DEBRIEF_LINE_Rec.INSTANCE_ID;
311
312 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ISSUING_INVENTORY_ORG_ID
313 := P_DEBRIEF_LINE_Rec.ISSUING_INVENTORY_ORG_ID ;
314 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).RECEIVING_INVENTORY_ORG_ID
315 := P_DEBRIEF_LINE_Rec.RECEIVING_INVENTORY_ORG_ID;
316 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ISSUING_SUB_INVENTORY_CODE
317 := P_DEBRIEF_LINE_Rec.ISSUING_SUB_INVENTORY_CODE;
318 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).RECEIVING_SUB_INVENTORY_CODE
319 := P_DEBRIEF_LINE_Rec.RECEIVING_SUB_INVENTORY_CODE;
320 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ISSUING_LOCATOR_ID := P_DEBRIEF_LINE_Rec.ISSUING_LOCATOR_ID;
321 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).RECEIVING_LOCATOR_ID := P_DEBRIEF_LINE_Rec.RECEIVING_LOCATOR_ID;
322 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).PARENT_PRODUCT_ID := P_DEBRIEF_LINE_Rec.PARENT_PRODUCT_ID;
323 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).REMOVED_PRODUCT_ID := P_DEBRIEF_LINE_Rec.REMOVED_PRODUCT_ID;
324 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).STATUS_OF_RECEIVED_PART := P_DEBRIEF_LINE_Rec.STATUS_OF_RECEIVED_PART;
325 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ITEM_SERIAL_NUMBER := P_DEBRIEF_LINE_Rec.ITEM_SERIAL_NUMBER;
326 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ITEM_REVISION := P_DEBRIEF_LINE_Rec.ITEM_REVISION;
327 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ITEM_LOTNUMBER := P_DEBRIEF_LINE_Rec.ITEM_LOTNUMBER;
328 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).UOM_CODE := P_DEBRIEF_LINE_Rec.UOM_CODE;
329 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).QUANTITY := P_DEBRIEF_LINE_Rec.QUANTITY;
330 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE_CATEGORY
331 := P_DEBRIEF_LINE_Rec.ATTRIBUTE_CATEGORY ;
332 -- x_pvt_DEBRIEF_LINE_tbl(l_curr_row).RMA_NUMBER := P_DEBRIEF_LINE_Rec.RMA_NUMBER;
333 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).RMA_HEADER_ID := P_DEBRIEF_LINE_Rec.RMA_HEADER_ID;
334 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).DISPOSITION_CODE := P_DEBRIEF_LINE_Rec.DISPOSITION_CODE;
335 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).MATERIAL_REASON_CODE := P_DEBRIEF_LINE_Rec.MATERIAL_REASON_CODE;
336 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).LABOR_REASON_CODE := P_DEBRIEF_LINE_Rec.LABOR_REASON_CODE;
337 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).EXPENSE_REASON_CODE := P_DEBRIEF_LINE_Rec.EXPENSE_REASON_CODE;
338 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).LABOR_START_DATE := P_DEBRIEF_LINE_Rec.LABOR_START_DATE;
339 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).LABOR_END_DATE := P_DEBRIEF_LINE_Rec.LABOR_END_DATE;
340 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).STARTING_MILEAGE := P_DEBRIEF_LINE_Rec.STARTING_MILEAGE;
341 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ENDING_MILEAGE := P_DEBRIEF_LINE_Rec.ENDING_MILEAGE;
342 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).EXPENSE_AMOUNT := P_DEBRIEF_LINE_Rec.EXPENSE_AMOUNT;
346 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).CHANNEL_CODE := P_DEBRIEF_LINE_Rec.CHANNEL_CODE ;
343 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).CURRENCY_CODE := P_DEBRIEF_LINE_Rec.CURRENCY_CODE;
344 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).DEBRIEF_LINE_STATUS_ID
345 := P_DEBRIEF_LINE_Rec.DEBRIEF_LINE_STATUS_ID;
347 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).CHARGE_UPLOAD_STATUS
348 := P_DEBRIEF_LINE_Rec.CHARGE_UPLOAD_STATUS ;
349 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).CHARGE_UPLOAD_MSG_CODE
350 := P_DEBRIEF_LINE_Rec.CHARGE_UPLOAD_MSG_CODE ;
351 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).CHARGE_UPLOAD_MESSAGE
352 := P_DEBRIEF_LINE_Rec.CHARGE_UPLOAD_MESSAGE;
353 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).IB_UPDATE_STATUS := P_DEBRIEF_LINE_Rec.IB_UPDATE_STATUS;
354 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).IB_UPDATE_MSG_CODE := P_DEBRIEF_LINE_Rec.IB_UPDATE_MSG_CODE;
355 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).IB_UPDATE_MESSAGE := P_DEBRIEF_LINE_Rec.IB_UPDATE_MESSAGE ;
356 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).SPARE_UPDATE_STATUS := P_DEBRIEF_LINE_Rec.SPARE_UPDATE_STATUS;
357 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).SPARE_UPDATE_MSG_CODE
358 := P_DEBRIEF_LINE_Rec.SPARE_UPDATE_MSG_CODE;
359 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).SPARE_UPDATE_MESSAGE
360 := P_DEBRIEF_LINE_Rec.SPARE_UPDATE_MESSAGE;
361 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE1 := P_DEBRIEF_LINE_Rec.ATTRIBUTE1;
362 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE2 := P_DEBRIEF_LINE_Rec.ATTRIBUTE2;
363 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE3 := P_DEBRIEF_LINE_Rec.ATTRIBUTE3;
364 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE4 := P_DEBRIEF_LINE_Rec.ATTRIBUTE4;
365 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE5 := P_DEBRIEF_LINE_Rec.ATTRIBUTE5;
366 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE6 := P_DEBRIEF_LINE_Rec.ATTRIBUTE6;
367 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE7 := P_DEBRIEF_LINE_Rec.ATTRIBUTE7;
368 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE8 := P_DEBRIEF_LINE_Rec.ATTRIBUTE8;
369 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE9 := P_DEBRIEF_LINE_Rec.ATTRIBUTE9;
370 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE10 := P_DEBRIEF_LINE_Rec.ATTRIBUTE10;
371 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE11 := P_DEBRIEF_LINE_Rec.ATTRIBUTE11;
372 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE12 := P_DEBRIEF_LINE_Rec.ATTRIBUTE12;
373 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE13 := P_DEBRIEF_LINE_Rec.ATTRIBUTE13;
374 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE14 := P_DEBRIEF_LINE_Rec.ATTRIBUTE14;
375 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).ATTRIBUTE15 := P_DEBRIEF_LINE_Rec.ATTRIBUTE15;
376 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).RETURN_REASON_CODE := P_DEBRIEF_LINE_Rec.RETURN_REASON_CODE;
377 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).TRANSACTION_TYPE_ID
378 := P_DEBRIEF_LINE_Rec.TRANSACTION_TYPE_ID;
379 x_pvt_DEBRIEF_LINE_tbl(l_curr_row).RETURN_DATE := P_DEBRIEF_LINE_Rec.RETURN_DATE;
380
381
382
383 IF l_any_errors
384 THEN
385 raise FND_API.G_EXC_ERROR;
386 END IF;
387
388 EXCEPTION
389 WHEN OTHERS THEN
390 l_any_errors := TRUE;
391 l_any_row_errors := FALSE;
392 x_pvt_debrief_line_tbl(l_curr_row) := l_pvt_debrief_line_rec;
393
394 END;
395 END LOOP;
396
397
398 END Conv_DEBRIEF_LINE_ValToId;
399
400 PROCEDURE Create_Debrief(
401 P_Api_Version_Number IN NUMBER,
402 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
403 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
404 P_DEBRIEF_Rec IN DEBRIEF_Rec_Type := G_MISS_DEBRIEF_REC,
405 P_DEBRIEF_LINE_tbl IN DEBRIEF_LINE_tbl_type ,
406 -- DEFAULT G_MISS_DEBRIEF_LINE_tbl,
407 X_DEBRIEF_HEADER_ID OUT NOCOPY NUMBER,
408 X_Return_Status OUT NOCOPY VARCHAR2,
409 X_Msg_Count OUT NOCOPY NUMBER,
410 X_Msg_Data OUT NOCOPY VARCHAR2
411 )
412 IS
413 l_api_name CONSTANT VARCHAR2(30) := 'Create_debrief';
414 l_api_version_number CONSTANT NUMBER := 1.0;
415 l_pvt_DEBRIEF_rec CSF_DEBRIEF_PVT.DEBRIEF_Rec_Type;
416 l_count CONSTANT NUMBER := p_debrief_line_tbl.count;
417 p_debrief_line_rec DEBRIEF_LINE_REC_TYPE;
418 l_pvt_DEBRIEF_LINE_tbl CSF_DEBRIEF_PVT.DEBRIEF_LINE_Tbl_Type;
419 x_debrief_line_id NUMBER;
420 l_return_status VARCHAR2(1);
421 BEGIN
422 SAVEPOINT CREATE_DEBRIEF_PUB;
423
424 -- Standard call to check for call compatibility.
425 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
426 p_api_version_number,
427 l_api_name,
428 G_PKG_NAME)
429 THEN
430 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
431 END IF;
432
433 -- Initialize message list if p_init_msg_list is set to TRUE.
434 IF FND_API.to_Boolean( p_init_msg_list )
435 THEN
436 FND_MSG_PUB.initialize;
437 END IF;
438
439 -- Initialize API return status to SUCCESS
440 x_return_status := FND_API.G_RET_STS_SUCCESS;
441
442 -- API body
443 --
444 -- Convert the values to ids
445 --
446 Convert_DEBRIEF_Value_To_Id (
447 p_DEBRIEF_rec => p_DEBRIEF_rec,
448 x_pvt_DEBRIEF_rec => l_pvt_DEBRIEF_rec
449 );
450 Conv_DEBRIEF_LINE_ValToId(
451 p_DEBRIEF_LINE_tbl => p_DEBRIEF_LINE_tbl,
455 -- Calling Private package: Create_DEBRIEF
452 x_pvt_DEBRIEF_LINE_tbl => l_pvt_DEBRIEF_LINE_tbl
453 );
454
456 CSF_DEBRIEF_PVT.Create_debrief(
457 P_Api_Version_Number => 1.0,
458 P_Init_Msg_List => FND_API.G_FALSE,
459 P_Commit => FND_API.G_FALSE,
460 P_Validation_Level => FND_API.G_VALID_LEVEL_FULL,
461 P_DEBRIEF_Rec => l_pvt_DEBRIEF_Rec ,
462 P_DEBRIEF_LINE_tbl => l_pvt_DEBRIEF_LINE_tbl,
463 X_DEBRIEF_HEADER_ID => x_DEBRIEF_HEADER_ID,
464 X_Return_Status => x_return_status,
465 X_Msg_Count => x_msg_count,
466 X_Msg_Data => x_msg_data);
467
468
469 -- End of API body.
470 --
471 IF x_return_status = FND_API.G_RET_STS_ERROR then
472 raise FND_API.G_EXC_ERROR;
473 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
474 raise FND_API.G_EXC_UNEXPECTED_ERROR;
475 END IF;
476
477 IF FND_API.to_Boolean( p_commit )
478 THEN
479 COMMIT WORK;
480 END IF;
481
482 FND_MSG_PUB.Count_And_Get
483 ( p_count => x_msg_count,
484 p_data => x_msg_data
485 );
486
487
488 EXCEPTION
489 WHEN FND_API.G_EXC_ERROR THEN
490
491 ROLLBACK TO CREATE_DEBRIEF_PUB;
492 x_return_status := FND_API.G_RET_STS_ERROR;
493 FND_MSG_PUB.Count_And_Get (
494 P_COUNT => X_MSG_COUNT
495 ,P_DATA => X_MSG_DATA);
496 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
497 ROLLBACK TO CREATE_DEBRIEF_PUB;
498
499 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
500 FND_MSG_PUB.Count_And_Get (
501 P_COUNT => X_MSG_COUNT
502 ,P_DATA => X_MSG_DATA);
503 WHEN OTHERS THEN
504 ROLLBACK TO CREATE_DEBRIEF_PUB;
505
506 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
507 IF FND_MSG_PUB.Check_Msg_Level
508 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
509 THEN
510 FND_MSG_PUB.Add_Exc_Msg (
511 G_PKG_NAME
512 ,L_API_NAME );
513 END IF;
514 FND_MSG_PUB.Count_And_Get (
515 P_COUNT => X_MSG_COUNT
516 ,P_DATA => X_MSG_DATA);
517
518 End Create_debrief;
519
520 PROCEDURE Update_debrief(
521 P_Api_Version_Number IN NUMBER,
522 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
523 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
524 P_DEBRIEF_Rec IN DEBRIEF_Rec_Type ,
525 X_Return_Status OUT NOCOPY VARCHAR2,
526 X_Msg_Count OUT NOCOPY NUMBER,
527 X_Msg_Data OUT NOCOPY VARCHAR2
528 )
529 IS
530 l_api_name CONSTANT VARCHAR2(30) := 'Update_debrief';
531 l_api_version_number CONSTANT NUMBER := 1.0;
532 l_pvt_DEBRIEF_rec CSF_DEBRIEF_PVT.DEBRIEF_Rec_Type;
533 BEGIN
534 -- Standard Start of API savepoint
535 SAVEPOINT UPDATE_DEBRIEF_PUB;
536
537 -- Standard call to check for call compatibility.
538 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
539 p_api_version_number,
540 l_api_name,
541 G_PKG_NAME)
542 THEN
543 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
544 END IF;
545
546 -- Initialize message list if p_init_msg_list is set to TRUE.
547 IF FND_API.to_Boolean( p_init_msg_list )
548 THEN
549 FND_MSG_PUB.initialize;
550 END IF;
551
552 -- Initialize API return status to SUCCESS
553 x_return_status := FND_API.G_RET_STS_SUCCESS;
554
555 -- API body
556 -- Convert the values to ids
557 --
558 Convert_DEBRIEF_Value_To_Id (
559 p_DEBRIEF_rec => p_DEBRIEF_rec,
560 x_pvt_DEBRIEF_rec => l_pvt_DEBRIEF_rec
561 );
562
563 CSF_DEBRIEF_PVT.Update_debrief(
564 P_Api_Version_Number => 1.0,
565 P_Init_Msg_List => FND_API.G_FALSE,
566 P_Commit => p_commit,
567 P_Validation_Level => FND_API.G_VALID_LEVEL_FULL,
568 P_DEBRIEF_Rec => l_pvt_DEBRIEF_Rec ,
569 X_Return_Status => x_return_status,
570 X_Msg_Count => x_msg_count,
571 X_Msg_Data => x_msg_data);
572
573 -- Check return status from the above procedure call
574 IF x_return_status = FND_API.G_RET_STS_ERROR then
575 raise FND_API.G_EXC_ERROR;
576 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
577 raise FND_API.G_EXC_UNEXPECTED_ERROR;
578 END IF;
579 -- End of API body
580 --
581 IF FND_API.to_Boolean( p_commit )
582 THEN
583 COMMIT WORK;
584 END IF;
585
586 FND_MSG_PUB.Count_And_Get
587 ( p_count => x_msg_count,
588 p_data => x_msg_data
589 );
590
591 EXCEPTION
595 FND_MSG_PUB.Count_And_Get (
592 WHEN FND_API.G_EXC_ERROR THEN
593 ROLLBACK TO UPDATE_DEBRIEF_PUB;
594 x_return_status := FND_API.G_RET_STS_ERROR;
596 P_COUNT => X_MSG_COUNT
597 ,P_DATA => X_MSG_DATA);
598
599 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
600 ROLLBACK TO UPDATE_DEBRIEF_PUB;
601 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
602 FND_MSG_PUB.Count_And_Get (
603 P_COUNT => X_MSG_COUNT
604 ,P_DATA => X_MSG_DATA);
605
606 WHEN OTHERS THEN
607 ROLLBACK TO UPDATE_DEBRIEF_PUB;
608 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
609 IF FND_MSG_PUB.Check_Msg_Level
610 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
611 THEN
612 FND_MSG_PUB.Add_Exc_Msg (
613 G_PKG_NAME
614 ,L_API_NAME );
615 END IF;
616
617 FND_MSG_PUB.Count_And_Get (
618 P_COUNT => X_MSG_COUNT
619 ,P_DATA => X_MSG_DATA);
620
621 End Update_debrief;
622
623 PROCEDURE Create_debrief_lines(
624 P_Api_Version_Number IN NUMBER,
625 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
626 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
627 P_Upd_tskassgnstatus IN VARCHAR2 ,
628 P_Task_Assignment_status IN VARCHAR2 ,
629 P_DEBRIEF_LINE_Tbl IN DEBRIEF_LINE_Tbl_Type := G_MISS_DEBRIEF_LINE_Tbl,
630 P_DEBRIEF_HEADER_ID IN NUMBER,
631 P_SOURCE_OBJECT_TYPE_CODE IN VARCHAR2,
632 X_Return_Status OUT NOCOPY VARCHAR2,
633 X_Msg_Count OUT NOCOPY NUMBER,
634 X_Msg_Data OUT NOCOPY VARCHAR2
635 )
636 IS
637 l_api_name CONSTANT VARCHAR2(30) := 'Create_debrief_lines';
638 l_api_version_number CONSTANT NUMBER := 1.0;
639 l_pvt_DEBRIEF_LINE_tbl CSF_DEBRIEF_PVT.DEBRIEF_LINE_tbl_Type;
640
641 BEGIN
642
643 -- Standard Start of API savepoint
644 SAVEPOINT CREATE_DEBRIEF_LINE_PUB;
645
646 -- Standard call to check for call compatibility.
647 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
648 p_api_version_number,
649 l_api_name,
650 G_PKG_NAME)
651 THEN
652 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
653 END IF;
654
655 -- Initialize message list if p_init_msg_list is set to TRUE.
656 IF FND_API.to_Boolean( p_init_msg_list )
657 THEN FND_MSG_PUB.initialize; END IF;
658
659 -- Initialize API return status to SUCCESS
660 x_return_status := FND_API.G_RET_STS_SUCCESS;
661
662 -- API body
663 --
664 -- Convert the values to ids
665
666 Conv_DEBRIEF_LINE_ValToId(
667 p_DEBRIEF_LINE_tbl => p_DEBRIEF_LINE_tbl,
668 x_pvt_DEBRIEF_LINE_tbl => l_pvt_DEBRIEF_LINE_tbl
669 );
670
671 -- Calling Private package: Create_DEBRIEF_LINE
672
673 CSF_debrief_PVT.Create_debrief_lines(
674 P_Api_Version_Number => 1.0,
675 P_Init_Msg_List => FND_API.G_FALSE,
676 P_Commit => FND_API.G_FALSE,
677 P_Upd_tskassgnstatus => P_Upd_tskassgnstatus,
678 P_Task_Assignment_status => P_Task_Assignment_status ,
679 P_Validation_Level => FND_API.G_VALID_LEVEL_FULL,
680 P_DEBRIEF_LINE_tbl => l_pvt_DEBRIEF_LINE_tbl,
681 P_DEBRIEF_HEADER_ID => P_DEBRIEF_HEADER_ID,
682 P_SOURCE_OBJECT_TYPE_CODE => P_SOURCE_OBJECT_TYPE_CODE,
683 X_Return_Status => x_return_status,
684 X_Msg_Count => x_msg_count,
685 X_Msg_Data => x_msg_data);
686
687 -- Check return status from the above procedure call
688 IF x_return_status = FND_API.G_RET_STS_ERROR then
689 raise FND_API.G_EXC_ERROR;
690 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
691 raise FND_API.G_EXC_UNEXPECTED_ERROR;
692 END IF;
693
694 -- End of API body.
695 --
696 IF FND_API.to_Boolean( p_commit )
697 THEN
698 COMMIT WORK;
699 END IF;
700
701 FND_MSG_PUB.Count_And_Get
702 ( p_count => x_msg_count,
703 p_data => x_msg_data
704 );
705
706 EXCEPTION
707 WHEN FND_API.G_EXC_ERROR THEN
708 ROLLBACK TO CREATE_DEBRIEF_LINE_PUB;
709 x_return_status := FND_API.G_RET_STS_ERROR;
710 FND_MSG_PUB.Count_And_Get (
711 P_COUNT => X_MSG_COUNT
712 ,P_DATA => X_MSG_DATA);
713
714 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
715 ROLLBACK TO CREATE_DEBRIEF_LINE_PUB;
716 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
717 FND_MSG_PUB.Count_And_Get (
718 P_COUNT => X_MSG_COUNT
719 ,P_DATA => X_MSG_DATA);
720
721 WHEN OTHERS THEN
725 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
722 ROLLBACK TO CREATE_DEBRIEF_LINE_PUB;
723 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
724 IF FND_MSG_PUB.Check_Msg_Level
726 THEN
727 FND_MSG_PUB.Add_Exc_Msg (
728 G_PKG_NAME
729 ,L_API_NAME );
730 END IF;
731
732 FND_MSG_PUB.Count_And_Get (
733 P_COUNT => X_MSG_COUNT
734 ,P_DATA => X_MSG_DATA);
735
736 End Create_debrief_lines;
737
738 PROCEDURE Update_debrief_line(
739 P_Api_Version_Number IN NUMBER,
740 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
741 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
742 P_Upd_tskassgnstatus IN VARCHAR2 ,
743 P_Task_Assignment_status IN VARCHAR2 ,
744 P_DEBRIEF_LINE_Rec IN DEBRIEF_LINE_Rec_Type,
745 X_Return_Status OUT NOCOPY VARCHAR2,
746 X_Msg_Count OUT NOCOPY NUMBER,
747 X_Msg_Data OUT NOCOPY VARCHAR2
748 )
749 IS
750 l_api_name CONSTANT VARCHAR2(30) := 'Update_debrief_line';
751 l_api_version_number CONSTANT NUMBER := 1.0;
752 l_pvt_DEBRIEF_LINE_rec CSF_DEBRIEF_PVT.DEBRIEF_LINE_Rec_Type;
753 l_pvt_DEBRIEF_LINE_tbl CSF_DEBRIEF_PVT.DEBRIEF_LINE_tbl_Type;
754 p_DEBRIEF_LINE_tbl DEBRIEF_LINE_TBL_Type;
755 BEGIN
756 -- Standard Start of API savepoint
757 SAVEPOINT UPDATE_DEBRIEF_LINE_PUB;
758
759 -- Standard call to check for call compatibility.
760 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
761 p_api_version_number,
762 l_api_name,
763 G_PKG_NAME)
764 THEN
765 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
766 END IF;
767 -- dbms_output.put_line ( 'step 3 PUB');
768 -- Initialize message list if p_init_msg_list is set to TRUE.
769 IF FND_API.to_Boolean( p_init_msg_list )
770 THEN
771 FND_MSG_PUB.initialize;
772 END IF;
773 -- dbms_output.put_line ( 'step 4 PUB');
774
775 -- Initialize API return status to SUCCESS
776 x_return_status := FND_API.G_RET_STS_SUCCESS;
777 --
778 -- API body
779
780 -- Convert the values to ids
781 --
782
783 p_DEBRIEF_LINE_tbl(1) := P_DEBRIEF_LINE_Rec;
784 -- dbms_output.put_line ( 'step 2 PUB');
785
786 Conv_DEBRIEF_LINE_ValToId(
787 p_DEBRIEF_LINE_tbl => p_DEBRIEF_LINE_tbl,
788 x_pvt_DEBRIEF_LINE_tbl => l_pvt_DEBRIEF_LINE_tbl
789 );
790
791 -- dbms_output.put_line ( 'step 1 PUB');
792
793 CSF_DEBRIEF_PVT.Update_debrief_line(
794 P_Api_Version_Number => 1.0,
795 P_Init_Msg_List => FND_API.G_FALSE,
796 P_Commit => p_commit,
797 P_Upd_tskassgnstatus => P_Upd_tskassgnstatus ,
798 P_Task_Assignment_status => P_Task_Assignment_status ,
799 P_Validation_Level => FND_API.G_VALID_LEVEL_FULL,
800 P_DEBRIEF_LINE_Rec => l_pvt_DEBRIEF_LINE_tbl(1),
801 X_Return_Status => x_return_status,
802 X_Msg_Count => x_msg_count,
803 X_Msg_Data => x_msg_data);
804
805 -- dbms_output.put_line ( 'step 1 PUB');
806 -- Check return status from the above procedure call
807 IF x_return_status = FND_API.G_RET_STS_ERROR then
808
809 raise FND_API.G_EXC_ERROR;
810 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
811
812 raise FND_API.G_EXC_UNEXPECTED_ERROR;
813 END IF;
814 -- End of API body
815 --
816
817 IF FND_API.to_Boolean( p_commit )
818 THEN
819 COMMIT WORK;
820 END IF;
821
822 FND_MSG_PUB.Count_And_Get
823 ( p_count => x_msg_count,
824 p_data => x_msg_data
825 );
826
827 EXCEPTION
828 WHEN FND_API.G_EXC_ERROR THEN
829 ROLLBACK TO UPDATE_DEBRIEF_LINE_PUB;
830 x_return_status := FND_API.G_RET_STS_ERROR;
831 FND_MSG_PUB.Count_And_Get (
832 P_COUNT => X_MSG_COUNT
833 ,P_DATA => X_MSG_DATA);
834
835 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
836 ROLLBACK TO UPDATE_DEBRIEF_LINE_PUB;
837 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
838 FND_MSG_PUB.Count_And_Get (
839 P_COUNT => X_MSG_COUNT
840 ,P_DATA => X_MSG_DATA);
841
842 WHEN OTHERS THEN
843 ROLLBACK TO UPDATE_DEBRIEF_LINE_PUB;
844 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
845 IF FND_MSG_PUB.Check_Msg_Level
846 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
847 THEN
848 FND_MSG_PUB.Add_Exc_Msg (
849 G_PKG_NAME
850 ,L_API_NAME );
851 END IF;
852
853 FND_MSG_PUB.Count_And_Get (
854 P_COUNT => X_MSG_COUNT
855 ,P_DATA => X_MSG_DATA);
856
857 End Update_debrief_line;
858 PROCEDURE call_internal_hook (
859 p_package_name IN VARCHAR2,
860 p_api_name IN VARCHAR2,
861 p_processing_type IN VARCHAR2,
862 x_return_status OUT NOCOPY VARCHAR2
863 )
864 IS
865 CURSOR c1
866 IS
867 SELECT hook_package, hook_api
868 FROM jtf_hooks_data
869 WHERE package_name = p_package_name
870 AND api_name = p_api_name
871 AND execute_flag = 'Y'
872 AND processing_type = p_processing_type
873 ORDER BY execution_order;
874
875 v_cursorid INTEGER;
876 v_blockstr VARCHAR2(2000);
877 v_dummy INTEGER;
878 BEGIN
879 x_return_status := fnd_api.g_ret_sts_success;
880
881 FOR i IN c1
882 LOOP
883 v_cursorid := DBMS_SQL.open_cursor;
884 v_blockstr :=
885 ' begin ' || i.hook_package || '.' || i.hook_api || '(:1); end; ';
886 DBMS_SQL.parse (v_cursorid, v_blockstr, DBMS_SQL.v7);
887 DBMS_SQL.bind_variable (v_cursorid, ':1', x_return_status, 20);
888 v_dummy := DBMS_SQL.execute (v_cursorid);
889 DBMS_SQL.variable_value (v_cursorid, ':1', x_return_status);
890 DBMS_SQL.close_cursor (v_cursorid);
891
892 IF NOT (x_return_status = fnd_api.g_ret_sts_success)
893 THEN
894 fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_RETURN_STATUS');
895 fnd_message.set_token (
896 'P_PROCEDURE',
897 i.hook_package || '.' || i.hook_api
898 );
899 fnd_msg_pub.add;
900 x_return_status := fnd_api.g_ret_sts_unexp_error;
901 RAISE fnd_api.g_exc_unexpected_error;
902 x_return_status := fnd_api.g_ret_sts_unexp_error;
903 RAISE fnd_api.g_exc_unexpected_error;
904 END IF;
905
906 IF x_return_status IS NULL
907 THEN
908 fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_RETURN_STATUS');
909 fnd_msg_pub.add;
910 x_return_status := fnd_api.g_ret_sts_unexp_error;
911 RAISE fnd_api.g_exc_unexpected_error;
912 END IF;
913 END LOOP;
914 EXCEPTION
915 WHEN fnd_api.g_exc_unexpected_error
916 THEN
917 x_return_status := fnd_api.g_ret_sts_unexp_error;
918 WHEN OTHERS
919 THEN
920 fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
921 fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
922 fnd_msg_pub.add;
923 x_return_status := fnd_api.g_ret_sts_unexp_error;
924 END;
925 End CSF_DEBRIEF_PUB;
926
927