DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSF_DEBRIEF_LINES_PKG

Source


1 PACKAGE BODY CSF_DEBRIEF_LINES_PKG as
2 /* $Header: csftdblb.pls 120.9.12020000.8 2013/04/26 10:29:00 shadas ship $ */
3 -- Start of Comments
4 -- Package name     : CSF_DEBRIEF_LINES_PKG
5 -- Purpose          :
6 -- History          :
7 -- NOTE             :
8 -- End of Comments
9 
10 G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSF_DEBRIEF_LINES_PKG';
11 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csftdblb.pls';
12 
13 procedure log(p_procedure in varchar2,p_message in varchar2) as
14 begin
15     --dbms_output.put_line(p_procedure||' - '||p_message);
16     --insert into temp_log values(sysdate, p_procedure, p_message);
17     if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
18             fnd_log.string(fnd_log.level_statement,
19                    'csf.plsql.csf_debrief_lines_pkg.'||p_procedure,
20                    p_message);
21     end if;
22 end;
23 
24 procedure create_reservations( p_dbf_hdr_id         in number,
25                                p_inventory_item_id  in number,
26                                p_qty                in number,
27                                p_uom                in varchar2,
28                                p_revision           in varchar2,
29                                p_organization_id    in number,
30                                p_subinventory_code  in varchar2,
31                                x_return_status      out nocopy varchar2,
32                                x_msg_data           out nocopy varchar2,
33                                x_msg_count          out nocopy varchar2) is
34   -- get total reserved qty
35   cursor total_reservations
36   is
37   select sum(mr.reservation_quantity)
38   from csf_debrief_headers cdh,
39     csp_requirement_headers crh,
40     csp_requirement_lines crl,
41     csp_req_line_details crld,
42     mtl_reservations mr
43   where cdh.debrief_header_id = p_dbf_hdr_id
44   and crh.task_assignment_id  = cdh.task_assignment_id
45   and crl.requirement_header_id = crh.requirement_header_id
46   and crld.requirement_line_id  = crl.requirement_line_id
47   and crld.source_type          = 'RES'
48   and mr.reservation_id         = crld.source_id
49   and mr.inventory_item_id      = nvl(p_inventory_item_id,mr.inventory_item_id);
50 
51   -- total debriefed qty for the item
52   cursor total_debriefed_quantity
53   is
54   select sum(mat_v.quantity)
55   from csf_debrief_mat_lines_v mat_v,
56     csf_debrief_headers dbf_hdr
57   where mat_v.debrief_header_id  = dbf_hdr.debrief_header_id
58   and dbf_hdr.debrief_header_id  = p_dbf_hdr_id
59   and mat_v.inventory_item_id    = p_inventory_item_id;
60 
61   -- get fist requirement line id to link
62   cursor get_req_line_id_to_link
63   is
64   select crl.requirement_line_id
65   from csf_debrief_headers cdh,
66     csp_requirement_headers crh,
67     csp_requirement_lines crl
68   where cdh.debrief_header_id = p_dbf_hdr_id
69   and crh.task_assignment_id  = cdh.task_assignment_id
70   and crl.requirement_header_id = crh.requirement_header_id
71   and crl.inventory_item_id     = p_inventory_item_id
72   and rownum                    = 1;
73 
74   l_total_reserved_qty number := 0;
75   l_available_qty number := 0;
76   l_onhand_qty number;
77   l_is_revision_control boolean := false;
78   l_revision varchar2(30) := null;
79   l_is_lot_control boolean := false;
80   l_lot_number varchar2(30) := null;
81   l_is_serial_control boolean := false;
82   l_locator_id number := null;
83   l_rqoh number;
84   l_qr number;
85   l_qs number;
86   l_att number;
87 
88   l_dbf_qty number := p_qty;
89   l_total_dbf_qty number := 0;
90 
91   l_qty_to_reserve number := 0;
92   l_reservation_rec csp_sch_int_pvt.reservation_rec_typ;
93   l_reservation_id number;
94   l_req_line_id_to_link number;
95 
96   l_req_line_dtl_rec csp_req_line_details_pvt.req_line_details_rec_type;
97   l_req_line_dtl_tbl csp_req_line_details_pvt.req_line_details_tbl_type;
98   x_req_line_dtl_tbl csp_req_line_details_pvt.req_line_details_tbl_type;
99 begin
100   log('create_reservations', 'p_dbf_hdr_id=' || p_dbf_hdr_id);
101   log('create_reservations', 'p_inventory_item_id=' || p_inventory_item_id);
102   log('create_reservations', 'p_qty=' || p_qty);
103   log('create_reservations', 'p_uom=' || p_uom);
104   log('create_reservations', 'p_revision=' || p_revision);
105   log('create_reservations', 'p_organization_id=' || p_organization_id);
106   log('create_reservations', 'p_subinventory_code=' || p_subinventory_code);
107 
108   open total_reservations;
109   fetch total_reservations into l_total_reserved_qty;
110   close total_reservations;
111   log('create_reservations', 'l_total_reserved_qty=' || l_total_reserved_qty);
112 
113   -- get available qty
114   inv_quantity_tree_pub.clear_quantity_cache;
115   inv_quantity_tree_pub.query_quantities (
116       p_api_version_number => 1.0
117     , p_organization_id    => p_organization_id
118     , p_subinventory_code  => p_subinventory_code
119     , p_inventory_item_id  => p_inventory_item_id
120     , x_qoh                => l_onhand_qty
121     , x_atr                => l_available_qty
122     , p_init_msg_lst       => fnd_api.g_false
123     , p_tree_mode          => inv_quantity_tree_pvt.g_transaction_mode
124     , p_is_revision_control=> l_is_revision_control
125     , p_revision           => l_revision
126     , p_is_lot_control     => l_is_lot_control
127     , p_lot_number         => l_lot_number
128     , p_is_serial_control  => l_is_serial_control
129     , p_locator_id         => l_locator_id
130     , x_rqoh               => l_rqoh
131     , x_qr                 => l_qr
132     , x_qs                 => l_qs
133     , x_att                => l_att
134     , x_return_status      => x_return_status
135     , x_msg_count          => x_msg_count
136     , x_msg_data           => x_msg_data
137   );
138   log('create_reservations', 'l_available_qty=' || l_available_qty);
139 
140   open total_debriefed_quantity;
141   fetch total_debriefed_quantity into l_total_dbf_qty;
142   close total_debriefed_quantity;
143   log('create_reservations', 'l_total_dbf_qty=' || l_total_dbf_qty);
144 
145   open get_req_line_id_to_link;
146   fetch get_req_line_id_to_link into l_req_line_id_to_link;
147   close get_req_line_id_to_link;
148   log('create_reservations', 'l_req_line_id_to_link=' || l_req_line_id_to_link);
149 
150   if l_total_reserved_qty > 0 then
151     l_qty_to_reserve := l_total_dbf_qty - l_total_reserved_qty;
152     if l_qty_to_reserve > l_available_qty then
153       l_qty_to_reserve := l_available_qty;
154     end if;
155   else
156     l_qty_to_reserve := l_dbf_qty;
157   end if;
158   log('create_reservations', 'l_qty_to_reserve=' || l_qty_to_reserve);
159 
160   if l_qty_to_reserve > 0 then
161     l_reservation_rec.need_by_date := sysdate;
162     l_reservation_rec.organization_id := p_organization_id;
163     l_reservation_rec.item_id := p_inventory_item_id;
164     l_reservation_rec.item_uom_code := p_uom;
165     l_reservation_rec.quantity_needed := l_qty_to_reserve;
166     l_reservation_rec.sub_inventory_code := p_subinventory_code;
167     l_reservation_rec.line_id := l_req_line_id_to_link;
168     if p_revision <> fnd_api.g_miss_char and p_revision is not null then
169       l_reservation_rec.revision := p_revision;
170     end if;
171 
172     l_reservation_id := csp_sch_int_pvt.create_reservation(l_reservation_rec, x_return_status, x_msg_data);
173     log('create_reservations', 'l_reservation_id=' || l_reservation_id);
174     if l_reservation_id <= 0 then
175       log('create_reservations', 'Error creating reservation');
176       x_return_status := fnd_api.g_ret_sts_error;
177       fnd_message.set_name('CSP', 'CSP_SCH_COULD_NOT_RESERVE');
178       fnd_msg_pub.add;
179       fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
180     else
181       log('create_reservations', 'Reservation created successfully');
182       if l_req_line_id_to_link is not null and l_req_line_id_to_link > 0 then
183         log('create_reservations', 'Creating requirement line detail record now...');
184         l_req_line_dtl_rec.requirement_line_id := l_req_line_id_to_link;
185         l_req_line_dtl_rec.source_type := 'RES';
186         l_req_line_dtl_rec.source_id := l_reservation_id;
187         l_req_line_dtl_tbl(1) := l_req_line_dtl_rec;
188 
189         csp_req_line_details_pvt.create_req_line_details(
190             p_api_version_number         => 1.0
191           , p_init_msg_list              => fnd_api.g_false
192           , p_commit                     => fnd_api.g_false
193           , p_validation_level           => fnd_api.g_valid_level_full
194           , p_req_line_details_tbl       => l_req_line_dtl_tbl
195           , x_req_line_details_tbl       => x_req_line_dtl_tbl
196           , x_return_status              => x_return_status
197           , x_msg_count                  => x_msg_count
198           , x_msg_data                   => x_msg_data
199         );
200         log('create_reservations', 'x_return_status' || x_return_status);
201         log('create_reservations', 'x_msg_count' || x_msg_count);
202         log('create_reservations', 'x_msg_data' || x_msg_data);
203         log('create_reservations', 'requirement line detail id: ' || x_req_line_dtl_tbl(1).req_line_detail_id);
204       end if;
205     end if;
206   end if;
207 
208 end create_reservations;
209 
210 PROCEDURE Insert_Row_Forms(
211           px_DEBRIEF_LINE_ID   IN OUT NOCOPY NUMBER,
212           p_DEBRIEF_HEADER_ID    NUMBER,
213           p_DEBRIEF_LINE_NUMBER    NUMBER,
214           p_SERVICE_DATE    DATE,
215           p_BUSINESS_PROCESS_ID    NUMBER,
216           p_TXN_BILLING_TYPE_ID    NUMBER,
217           p_INVENTORY_ITEM_ID    NUMBER,
218           p_INSTANCE_ID          NUMBER,
219           p_ISSUING_INVENTORY_ORG_ID    NUMBER,
220           p_RECEIVING_INVENTORY_ORG_ID    NUMBER,
221           p_ISSUING_SUB_INVENTORY_CODE    VARCHAR2,
222           p_RECEIVING_SUB_INVENTORY_CODE    VARCHAR2,
223           p_ISSUING_LOCATOR_ID    NUMBER,
224           p_RECEIVING_LOCATOR_ID    NUMBER,
225           p_PARENT_PRODUCT_ID    NUMBER,
226           p_REMOVED_PRODUCT_ID    NUMBER,
227           p_STATUS_OF_RECEIVED_PART    VARCHAR2,
228           p_ITEM_SERIAL_NUMBER    VARCHAR2,
229           p_ITEM_REVISION    VARCHAR2,
230           p_ITEM_LOTNUMBER    VARCHAR2,
231           p_UOM_CODE    VARCHAR2,
232           p_QUANTITY    NUMBER,
233           p_RMA_HEADER_ID    NUMBER,
234           p_DISPOSITION_CODE    VARCHAR2,
235           p_MATERIAL_REASON_CODE    VARCHAR2,
236           p_LABOR_REASON_CODE    VARCHAR2,
237           p_EXPENSE_REASON_CODE    VARCHAR2,
238           p_LABOR_START_DATE    DATE,
239           p_LABOR_END_DATE    DATE,
240           p_STARTING_MILEAGE    NUMBER,
241           p_ENDING_MILEAGE    NUMBER,
242           p_EXPENSE_AMOUNT    NUMBER,
243           p_CURRENCY_CODE    VARCHAR2,
244           p_DEBRIEF_LINE_STATUS_ID    NUMBER,
245           p_RETURN_REASON_CODE VARCHAR2,
246           p_CHANNEL_CODE    VARCHAR2,
247           p_CHARGE_UPLOAD_STATUS    VARCHAR2,
248           p_CHARGE_UPLOAD_MSG_CODE    VARCHAR2,
249           p_CHARGE_UPLOAD_MESSAGE    VARCHAR2,
250           p_IB_UPDATE_STATUS    VARCHAR2,
251           p_IB_UPDATE_MSG_CODE    VARCHAR2,
252           p_IB_UPDATE_MESSAGE    VARCHAR2,
253           p_SPARE_UPDATE_STATUS    VARCHAR2,
254           p_SPARE_UPDATE_MSG_CODE    VARCHAR2,
255           p_SPARE_UPDATE_MESSAGE    VARCHAR2,
256           p_CREATED_BY    NUMBER,
257           p_CREATION_DATE    DATE,
258           p_LAST_UPDATED_BY    NUMBER,
259           p_LAST_UPDATE_DATE    DATE,
260           p_LAST_UPDATE_LOGIN    NUMBER,
261           p_ATTRIBUTE1    VARCHAR2,
262           p_ATTRIBUTE2    VARCHAR2,
263           p_ATTRIBUTE3    VARCHAR2,
264           p_ATTRIBUTE4    VARCHAR2,
265           p_ATTRIBUTE5    VARCHAR2,
266           p_ATTRIBUTE6    VARCHAR2,
267           p_ATTRIBUTE7    VARCHAR2,
268           p_ATTRIBUTE8    VARCHAR2,
269           p_ATTRIBUTE9    VARCHAR2,
270           p_ATTRIBUTE10    VARCHAR2,
271           p_ATTRIBUTE11    VARCHAR2,
272           p_ATTRIBUTE12    VARCHAR2,
273           p_ATTRIBUTE13    VARCHAR2,
274           p_ATTRIBUTE14    VARCHAR2,
275           p_ATTRIBUTE15    VARCHAR2,
276           p_ATTRIBUTE_CATEGORY    VARCHAR2,
277           P_TRANSACTION_TYPE_ID NUMBER,
278           P_RETURN_DATE     DATE,
279           p_DML_mode            VARCHAR2)
280 
281  IS
282 begin
283   Insert_Row(
284           px_DEBRIEF_LINE_ID => px_debrief_line_id,
285           p_DEBRIEF_HEADER_ID => p_debrief_header_id,
286           p_DEBRIEF_LINE_NUMBER => p_debrief_line_number,
287           p_SERVICE_DATE => p_service_date,
288           p_BUSINESS_PROCESS_ID => p_business_process_id,
289           p_TXN_BILLING_TYPE_ID => p_txn_billing_type_id,
290           p_INVENTORY_ITEM_ID => p_inventory_item_id,
291           p_INSTANCE_ID => p_instance_id,
292           p_ISSUING_INVENTORY_ORG_ID => p_issuing_inventory_org_id,
293           p_RECEIVING_INVENTORY_ORG_ID => p_receiving_inventory_org_id,
294           p_ISSUING_SUB_INVENTORY_CODE => p_issuing_sub_inventory_code,
295           p_RECEIVING_SUB_INVENTORY_CODE => p_receiving_sub_inventory_code,
296           p_ISSUING_LOCATOR_ID =>p_ISSUING_LOCATOR_ID,
297           p_RECEIVING_LOCATOR_ID =>p_RECEIVING_LOCATOR_ID,
298           p_PARENT_PRODUCT_ID =>p_PARENT_PRODUCT_ID,
299           p_REMOVED_PRODUCT_ID =>p_REMOVED_PRODUCT_ID,
300           p_STATUS_OF_RECEIVED_PART =>p_STATUS_OF_RECEIVED_PART,
301           p_ITEM_SERIAL_NUMBER =>p_ITEM_SERIAL_NUMBER,
302           p_ITEM_REVISION =>p_ITEM_REVISION,
303           p_ITEM_LOTNUMBER =>p_ITEM_LOTNUMBER,
304           p_UOM_CODE =>p_UOM_CODE,
305           p_QUANTITY =>p_QUANTITY,
306           p_RMA_HEADER_ID =>p_RMA_HEADER_ID,
307           p_DISPOSITION_CODE =>p_DISPOSITION_CODE,
308           p_MATERIAL_REASON_CODE =>p_MATERIAL_REASON_CODE,
309           p_LABOR_REASON_CODE =>p_LABOR_REASON_CODE,
310           p_EXPENSE_REASON_CODE =>p_EXPENSE_REASON_CODE,
311           p_LABOR_START_DATE =>p_LABOR_START_DATE,
312           p_LABOR_END_DATE =>p_LABOR_END_DATE,
313           p_STARTING_MILEAGE =>p_STARTING_MILEAGE,
314           p_ENDING_MILEAGE =>p_ENDING_MILEAGE,
315           p_EXPENSE_AMOUNT =>p_EXPENSE_AMOUNT,
316           p_CURRENCY_CODE =>p_CURRENCY_CODE,
317           p_DEBRIEF_LINE_STATUS_ID =>p_DEBRIEF_LINE_STATUS_ID,
318           p_RETURN_REASON_CODE =>p_RETURN_REASON_CODE,
319           p_CHANNEL_CODE =>p_CHANNEL_CODE,
320           p_CHARGE_UPLOAD_STATUS =>p_CHARGE_UPLOAD_STATUS,
321           p_CHARGE_UPLOAD_MSG_CODE =>p_CHARGE_UPLOAD_MSG_CODE,
322           p_CHARGE_UPLOAD_MESSAGE =>p_CHARGE_UPLOAD_MESSAGE,
323           p_IB_UPDATE_STATUS =>p_IB_UPDATE_STATUS,
324           p_IB_UPDATE_MSG_CODE =>p_IB_UPDATE_MSG_CODE,
325           p_IB_UPDATE_MESSAGE =>p_IB_UPDATE_MESSAGE,
326           p_SPARE_UPDATE_STATUS =>p_SPARE_UPDATE_STATUS,
327           p_SPARE_UPDATE_MSG_CODE =>p_SPARE_UPDATE_MSG_CODE,
328           p_SPARE_UPDATE_MESSAGE =>p_SPARE_UPDATE_MESSAGE,
329           p_CREATED_BY =>p_CREATED_BY,
330           p_CREATION_DATE =>p_CREATION_DATE,
331           p_LAST_UPDATED_BY =>p_LAST_UPDATED_BY,
332           p_LAST_UPDATE_DATE =>p_LAST_UPDATE_DATE,
333           p_LAST_UPDATE_LOGIN =>p_LAST_UPDATE_LOGIN,
334           p_ATTRIBUTE1 => p_ATTRIBUTE1,
335           p_ATTRIBUTE2 => p_ATTRIBUTE2,
336           p_ATTRIBUTE3 => p_ATTRIBUTE3,
337           p_ATTRIBUTE4 => p_ATTRIBUTE4,
338           p_ATTRIBUTE5 => p_ATTRIBUTE5,
339           p_ATTRIBUTE6 => p_ATTRIBUTE6,
340           p_ATTRIBUTE7 => p_ATTRIBUTE7,
341           p_ATTRIBUTE8 => p_ATTRIBUTE8,
342           p_ATTRIBUTE9 => p_ATTRIBUTE9,
343           p_ATTRIBUTE10 => p_ATTRIBUTE10,
344           p_ATTRIBUTE11 => p_ATTRIBUTE11,
345           p_ATTRIBUTE12 => p_ATTRIBUTE12,
346           p_ATTRIBUTE13 => p_ATTRIBUTE13,
347           p_ATTRIBUTE14 => p_ATTRIBUTE14,
348           p_ATTRIBUTE15 => p_ATTRIBUTE15,
349           p_ATTRIBUTE_CATEGORY    => p_ATTRIBUTE_CATEGORY,
350           P_TRANSACTION_TYPE_ID =>P_TRANSACTION_TYPE_ID ,
351           p_return_date => p_return_date,
352           p_DML_mode => p_DML_mode,
353           p_usage_type => FND_API.G_MISS_CHAR,
354           p_dest_organization_id => FND_API.G_MISS_NUM,
355           p_dest_subinventory_name => FND_API.G_MISS_CHAR,
356           p_carrier_code => FND_API.G_MISS_CHAR,
357           p_shipping_method => FND_API.G_MISS_CHAR,
358           p_shipment_number => FND_API.G_MISS_CHAR,
359           p_waybill => FND_API.G_MISS_CHAR
360           );
361 end;
362 
363 PROCEDURE Insert_Row(
364           px_DEBRIEF_LINE_ID   IN OUT NOCOPY NUMBER,
365           p_DEBRIEF_HEADER_ID    NUMBER,
366           p_DEBRIEF_LINE_NUMBER    NUMBER,
367           p_SERVICE_DATE    DATE,
368           p_BUSINESS_PROCESS_ID    NUMBER,
369           p_TXN_BILLING_TYPE_ID    NUMBER,
370           p_INVENTORY_ITEM_ID    NUMBER,
371           p_INSTANCE_ID          NUMBER,
372           p_ISSUING_INVENTORY_ORG_ID    NUMBER,
373           p_RECEIVING_INVENTORY_ORG_ID    NUMBER,
374           p_ISSUING_SUB_INVENTORY_CODE    VARCHAR2,
375           p_RECEIVING_SUB_INVENTORY_CODE    VARCHAR2,
376           p_ISSUING_LOCATOR_ID    NUMBER,
377           p_RECEIVING_LOCATOR_ID    NUMBER,
378           p_PARENT_PRODUCT_ID    NUMBER,
379           p_REMOVED_PRODUCT_ID    NUMBER,
380           p_STATUS_OF_RECEIVED_PART    VARCHAR2,
381           p_ITEM_SERIAL_NUMBER    VARCHAR2,
382           p_ITEM_REVISION    VARCHAR2,
383           p_ITEM_LOTNUMBER    VARCHAR2,
384           p_UOM_CODE    VARCHAR2,
385           p_QUANTITY    NUMBER,
386           p_RMA_HEADER_ID    NUMBER,
387           p_DISPOSITION_CODE    VARCHAR2,
388           p_MATERIAL_REASON_CODE    VARCHAR2,
389           p_LABOR_REASON_CODE    VARCHAR2,
390           p_EXPENSE_REASON_CODE    VARCHAR2,
391           p_LABOR_START_DATE    DATE,
392           p_LABOR_END_DATE    DATE,
393           p_STARTING_MILEAGE    NUMBER,
394           p_ENDING_MILEAGE    NUMBER,
395           p_EXPENSE_AMOUNT    NUMBER,
396           p_CURRENCY_CODE    VARCHAR2,
397           p_DEBRIEF_LINE_STATUS_ID    NUMBER,
398           p_RETURN_REASON_CODE VARCHAR2,
399           p_CHANNEL_CODE    VARCHAR2,
400           p_CHARGE_UPLOAD_STATUS    VARCHAR2,
401           p_CHARGE_UPLOAD_MSG_CODE    VARCHAR2,
402           p_CHARGE_UPLOAD_MESSAGE    VARCHAR2,
403           p_IB_UPDATE_STATUS    VARCHAR2,
404           p_IB_UPDATE_MSG_CODE    VARCHAR2,
405           p_IB_UPDATE_MESSAGE    VARCHAR2,
406           p_SPARE_UPDATE_STATUS    VARCHAR2,
407           p_SPARE_UPDATE_MSG_CODE    VARCHAR2,
408           p_SPARE_UPDATE_MESSAGE    VARCHAR2,
409           p_CREATED_BY    NUMBER,
410           p_CREATION_DATE    DATE,
411           p_LAST_UPDATED_BY    NUMBER,
412           p_LAST_UPDATE_DATE    DATE,
413           p_LAST_UPDATE_LOGIN    NUMBER,
414           p_ATTRIBUTE1    VARCHAR2,
415           p_ATTRIBUTE2    VARCHAR2,
416           p_ATTRIBUTE3    VARCHAR2,
417           p_ATTRIBUTE4    VARCHAR2,
418           p_ATTRIBUTE5    VARCHAR2,
419           p_ATTRIBUTE6    VARCHAR2,
420           p_ATTRIBUTE7    VARCHAR2,
421           p_ATTRIBUTE8    VARCHAR2,
422           p_ATTRIBUTE9    VARCHAR2,
423           p_ATTRIBUTE10    VARCHAR2,
424           p_ATTRIBUTE11    VARCHAR2,
425           p_ATTRIBUTE12    VARCHAR2,
426           p_ATTRIBUTE13    VARCHAR2,
427           p_ATTRIBUTE14    VARCHAR2,
428           p_ATTRIBUTE15    VARCHAR2,
429           p_ATTRIBUTE_CATEGORY    VARCHAR2,
430           P_TRANSACTION_TYPE_ID NUMBER,
431           p_return_date     date,
432           p_DML_mode            VARCHAR2,
433           p_usage_type                      varchar2,
434           p_dest_organization_id            number,
435           p_dest_subinventory_name          varchar2,
436           p_carrier_code                    varchar2,
437           p_shipping_method                 varchar2,
438           p_shipment_number                 varchar2,
439           p_waybill                         varchar2,
440           p_material_transaction_id         number,
441           p_expenditure_org_id              number,
442           p_project_id                      number,
443           p_project_task_id                 number
444           )
445 
446  IS
447    CURSOR C2 IS SELECT CSF_DEBRIEF_LINES_S.nextval FROM sys.dual;
448 
449    l_debrief_line   CSF_DEBRIEF_PUB.DEBRIEF_LINE_Rec_Type;
450    l_return_status    varchar2(100);
451    l_msg_count        NUMBER;
452    l_msg_data         varchar2(1000);
453    l_api_name_full    varchar2(50) := 'CSF_DEBRIEF_LINES_PKG.INSERT_ROW';
454    l_dml_mode 		  varchar2(10) := p_DML_mode;
455 BEGIN
456 --dbms_output.put_line('Inserting Row ');
457           l_debrief_line.DEBRIEF_LINE_ID:= px_DEBRIEF_LINE_ID  ;
458            l_debrief_line.DEBRIEF_HEADER_ID:= p_DEBRIEF_HEADER_ID    ;
459           l_debrief_line.DEBRIEF_LINE_NUMBER:=p_DEBRIEF_LINE_NUMBER    ;
460           l_debrief_line.SERVICE_DATE:=p_SERVICE_DATE   ;
461           l_debrief_line.BUSINESS_PROCESS_ID:=p_BUSINESS_PROCESS_ID    ;
462           l_debrief_line.TXN_BILLING_TYPE_ID:=p_TXN_BILLING_TYPE_ID    ;
463           l_debrief_line.INVENTORY_ITEM_ID:=p_INVENTORY_ITEM_ID    ;
464           l_debrief_line.INSTANCE_ID:=p_INSTANCE_ID          ;
465           l_debrief_line.ISSUING_INVENTORY_ORG_ID:=p_ISSUING_INVENTORY_ORG_ID    ;
466           l_debrief_line.RECEIVING_INVENTORY_ORG_ID:=p_RECEIVING_INVENTORY_ORG_ID    ;
467           l_debrief_line.ISSUING_SUB_INVENTORY_CODE:=p_ISSUING_SUB_INVENTORY_CODE    ;
468           l_debrief_line.RECEIVING_SUB_INVENTORY_CODE:=p_RECEIVING_SUB_INVENTORY_CODE    ;
469           l_debrief_line.ISSUING_LOCATOR_ID :=p_ISSUING_LOCATOR_ID   ;
470           l_debrief_line.RECEIVING_LOCATOR_ID:=p_RECEIVING_LOCATOR_ID   ;
471           l_debrief_line.PARENT_PRODUCT_ID:=p_PARENT_PRODUCT_ID    ;
472           l_debrief_line.REMOVED_PRODUCT_ID:=p_REMOVED_PRODUCT_ID    ;
473           l_debrief_line.STATUS_OF_RECEIVED_PART:=p_STATUS_OF_RECEIVED_PART   ;
474           l_debrief_line.ITEM_SERIAL_NUMBER:=p_ITEM_SERIAL_NUMBER    ;
475           l_debrief_line.ITEM_REVISION :=p_ITEM_REVISION    ;
476           l_debrief_line.ITEM_LOTNUMBER:=p_ITEM_LOTNUMBER    ;
477           l_debrief_line.UOM_CODE:=p_UOM_CODE    ;
478           l_debrief_line.QUANTITY:=p_QUANTITY    ;
479           l_debrief_line.RMA_HEADER_ID:=p_RMA_HEADER_ID    ;
480           l_debrief_line.DISPOSITION_CODE:=p_DISPOSITION_CODE    ;
481           l_debrief_line.MATERIAL_REASON_CODE:=p_MATERIAL_REASON_CODE   ;
482           l_debrief_line.LABOR_REASON_CODE:=p_LABOR_REASON_CODE   ;
483           l_debrief_line.EXPENSE_REASON_CODE:=p_EXPENSE_REASON_CODE    ;
484           l_debrief_line.LABOR_START_DATE:=p_LABOR_START_DATE    ;
485           l_debrief_line.LABOR_END_DATE:=p_LABOR_END_DATE    ;
486           l_debrief_line.STARTING_MILEAGE:=p_STARTING_MILEAGE   ;
487           l_debrief_line.ENDING_MILEAGE:=p_ENDING_MILEAGE    ;
488           l_debrief_line.EXPENSE_AMOUNT:=p_EXPENSE_AMOUNT    ;
489           l_debrief_line.CURRENCY_CODE:=p_CURRENCY_CODE    ;
490           l_debrief_line.DEBRIEF_LINE_STATUS_ID:=p_DEBRIEF_LINE_STATUS_ID    ;
491            l_debrief_line.RETURN_REASON_CODE:=p_RETURN_REASON_CODE ;
492           l_debrief_line.CHANNEL_CODE:=p_CHANNEL_CODE    ;
493           l_debrief_line.CHARGE_UPLOAD_STATUS:=p_CHARGE_UPLOAD_STATUS   ;
494           l_debrief_line.CHARGE_UPLOAD_MSG_CODE:=p_CHARGE_UPLOAD_MSG_CODE    ;
495           l_debrief_line.CHARGE_UPLOAD_MESSAGE:=p_CHARGE_UPLOAD_MESSAGE    ;
496           l_debrief_line.IB_UPDATE_STATUS:=p_IB_UPDATE_STATUS    ;
497           l_debrief_line.IB_UPDATE_MSG_CODE:=p_IB_UPDATE_MSG_CODE    ;
498           l_debrief_line.IB_UPDATE_MESSAGE:=p_IB_UPDATE_MESSAGE    ;
499           l_debrief_line.SPARE_UPDATE_STATUS:=p_SPARE_UPDATE_STATUS    ;
500           l_debrief_line.SPARE_UPDATE_MSG_CODE:=p_SPARE_UPDATE_MSG_CODE    ;
501           l_debrief_line.SPARE_UPDATE_MESSAGE:=p_SPARE_UPDATE_MESSAGE    ;
502           l_debrief_line.CREATED_BY:=p_CREATED_BY    ;
503           l_debrief_line.CREATION_DATE:=p_CREATION_DATE    ;
504           l_debrief_line.LAST_UPDATED_BY:=p_LAST_UPDATED_BY    ;
505           l_debrief_line.LAST_UPDATE_DATE:=p_LAST_UPDATE_DATE    ;
506           l_debrief_line.LAST_UPDATE_LOGIN :=p_LAST_UPDATE_LOGIN    ;
507           l_debrief_line.ATTRIBUTE1:=p_ATTRIBUTE1    ;
508           l_debrief_line.ATTRIBUTE2 :=p_ATTRIBUTE2    ;
509           l_debrief_line.ATTRIBUTE3 :=p_ATTRIBUTE3    ;
510           l_debrief_line.ATTRIBUTE4 :=p_ATTRIBUTE4    ;
511           l_debrief_line.ATTRIBUTE5 :=p_ATTRIBUTE5    ;
512           l_debrief_line.ATTRIBUTE6 :=p_ATTRIBUTE6    ;
513           l_debrief_line.ATTRIBUTE7 :=p_ATTRIBUTE7    ;
514           l_debrief_line.ATTRIBUTE8 :=p_ATTRIBUTE8    ;
515           l_debrief_line.ATTRIBUTE9 :=p_ATTRIBUTE9    ;
516           l_debrief_line.ATTRIBUTE10 :=p_ATTRIBUTE10    ;
517           l_debrief_line.ATTRIBUTE11 :=p_ATTRIBUTE11    ;
518           l_debrief_line.ATTRIBUTE12 :=p_ATTRIBUTE12    ;
519           l_debrief_line.ATTRIBUTE13 :=p_ATTRIBUTE13    ;
520           l_debrief_line.ATTRIBUTE14 :=p_ATTRIBUTE14    ;
521           l_debrief_line.ATTRIBUTE15 :=p_ATTRIBUTE15    ;
522           l_debrief_line.ATTRIBUTE_CATEGORY :=p_ATTRIBUTE_CATEGORY    ;
523           l_debrief_line.TRANSACTION_TYPE_ID := P_TRANSACTION_TYPE_ID;
524           l_debrief_line.RETURN_DATE:=p_RETURN_DATE   ;
525 --dbms_output.put_line('Calling jtf_usr_hks.Ok_To_Execute ');
526 
527          l_debrief_line.usage_type               := p_usage_type;
528          l_debrief_line.dest_organization_id     := p_dest_organization_id;
529          l_debrief_line.dest_subinventory_name   := p_dest_subinventory_name;
530          l_debrief_line.carrier_code             := p_carrier_code;
531          l_debrief_line.shipping_method          := p_shipping_method;
532          l_debrief_line.shipment_number          := p_shipment_number;
533          l_debrief_line.waybill                  := p_waybill;
534          l_debrief_line.material_transaction_id  := p_material_transaction_id;
535 
536          l_debrief_line.expenditure_org_id       := p_expenditure_org_id;
537          l_debrief_line.project_id               := p_project_id;
538          l_debrief_line.project_task_id          := p_project_task_id;
539 
540     if l_dml_mode is null then
541       l_dml_mode := 'BOTH';
542     end if;
543 
544     if l_dml_mode <> 'POST' then
545       IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_LINES_PKG',
546                                         'Insert_Row',
547                                         'B', 'C')  THEN
548 --dbms_output.put_line('Calling csf_debrief_lines_cuhk.Create_debrief_line_Pre ');
549               csf_debrief_lines_cuhk.Create_debrief_line_Pre
550                   ( px_debrief_line     => l_debrief_line,
551                     x_return_status          => l_return_status,
552                     x_msg_count              => l_msg_count,
553                     x_msg_data               => l_msg_data
554                   ) ;
555                   --dbms_output.put_line('csf_debrief_lines_cuhk.Create_debrief_line_Pre Status '||l_return_status);
556       IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
557         --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Customer User Hook');
558         --FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_CUST_USR_HK');
559         --FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
560         --FND_MSG_PUB.Add;
561         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
562       END IF;
563      END IF;
564 
565 
566 --dbms_output.put_line('Again Hook ');
567   -- Pre call to the Vertical Type User Hook
568   --
569   IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_LINES_PKG',
570                                       'Insert_Row',
571                                       'B', 'V')  THEN
572 --dbms_output.put_line('Pre Called ');
573     csf_debrief_lines_vuhk.Create_debrief_line_Pre
574                 ( px_debrief_line     => l_debrief_line,
575                   x_return_status          => l_return_status,
576                   x_msg_count              => l_msg_count,
577                   x_msg_data               => l_msg_data
578                 ) ;
579 
580 --dbms_output.put_line('PRE CALLED STATUS  '||l_return_status);
581     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
582       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
583       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_VERT_USR_HK');
584       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
585       FND_MSG_PUB.Add;
586       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
587     END IF;
588   END IF;
589   --dbms_output.put_line('csf_debrief_lines_iuhk ');
590 
591     csf_debrief_lines_iuhk.Create_debrief_line_Pre
592                 ( x_return_status          => l_return_status
593                 ) ;
594 
595 --dbms_output.put_line('csf_debrief_lines_iuhk status  '||l_return_status);
596     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
597       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
598       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_INT_USR_HK');
599       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
600       FND_MSG_PUB.Add;
601       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
602     END IF;
603 
604     end if;
605 
606 --dbms_output.put_line('SOME IF  ');
607   if l_dml_mode = 'BOTH' then
608    If (l_debrief_line.DEBRIEF_LINE_ID IS NULL) OR (l_debrief_line.DEBRIEF_LINE_ID = FND_API.G_MISS_NUM) then
609        OPEN C2;
610        FETCH C2 INTO px_DEBRIEF_LINE_ID;
611        CLOSE C2;
612    End If;
613   end if;
614 --dbms_output.put_line('INSERTING ');
615 --change dthe decode for service_date for timezone fix 3409128
616  l_debrief_line.DEBRIEF_LINE_ID:= px_DEBRIEF_LINE_ID  ;
617 user_hooks_rec.DEBRIEF_LINE_ID := l_debrief_line.DEBRIEF_LINE_ID;
618 
619    if l_dml_mode = 'BOTH' then
620    INSERT INTO CSF_DEBRIEF_LINES(
621            DEBRIEF_LINE_ID,
622            DEBRIEF_HEADER_ID,
623            DEBRIEF_LINE_NUMBER,
624            SERVICE_DATE,
625            BUSINESS_PROCESS_ID,
626            TXN_BILLING_TYPE_ID,
627            INVENTORY_ITEM_ID,
628            INSTANCE_ID,
629            ISSUING_INVENTORY_ORG_ID,
630            RECEIVING_INVENTORY_ORG_ID,
631            ISSUING_SUB_INVENTORY_CODE,
632            RECEIVING_SUB_INVENTORY_CODE,
633            ISSUING_LOCATOR_ID,
634            RECEIVING_LOCATOR_ID,
635            PARENT_PRODUCT_ID,
636            REMOVED_PRODUCT_ID,
637            STATUS_OF_RECEIVED_PART,
638            ITEM_SERIAL_NUMBER,
639            ITEM_REVISION,
640            ITEM_LOTNUMBER,
641            UOM_CODE,
642            QUANTITY,
643            RMA_HEADER_ID,
644            DISPOSITION_CODE,
645            MATERIAL_REASON_CODE,
646            LABOR_REASON_CODE,
647            EXPENSE_REASON_CODE,
648            LABOR_START_DATE,
649            LABOR_END_DATE,
650            STARTING_MILEAGE,
651            ENDING_MILEAGE,
652            EXPENSE_AMOUNT,
653            CURRENCY_CODE,
654            DEBRIEF_LINE_STATUS_ID,
655            RETURN_REASON_CODE,
656            CHANNEL_CODE,
657            CHARGE_UPLOAD_STATUS,
658            CHARGE_UPLOAD_MSG_CODE,
659            CHARGE_UPLOAD_MESSAGE,
660            IB_UPDATE_STATUS,
661            IB_UPDATE_MSG_CODE,
662            IB_UPDATE_MESSAGE,
663            SPARE_UPDATE_STATUS,
664            SPARE_UPDATE_MSG_CODE,
665            SPARE_UPDATE_MESSAGE,
666            CREATED_BY,
667            CREATION_DATE,
668            LAST_UPDATED_BY,
669            LAST_UPDATE_DATE,
670            LAST_UPDATE_LOGIN,
671            ATTRIBUTE1,
672            ATTRIBUTE2,
673            ATTRIBUTE3,
674            ATTRIBUTE4,
675            ATTRIBUTE5,
676            ATTRIBUTE6,
677            ATTRIBUTE7,
678            ATTRIBUTE8,
679            ATTRIBUTE9,
680            ATTRIBUTE10,
681            ATTRIBUTE11,
682            ATTRIBUTE12,
683            ATTRIBUTE13,
684            ATTRIBUTE14,
685            ATTRIBUTE15,
686            ATTRIBUTE_CATEGORY,
687            TRANSACTION_TYPE_ID,
688            RETURN_DATE,
689            USAGE_TYPE,
690            RETURN_ORGANIZATION_ID,
691            RETURN_SUBINVENTORY_NAME,
692            SHIPPING_METHOD,
693            SHIPPING_NUMBER,
694            WAYBILL,
695            CARRIER_CODE,
696            MATERIAL_TRANSACTION_ID,
697            EXPENDITURE_ORG_ID,
698            PROJECT_ID,
699            PROJECT_TASK_ID
700           ) VALUES (
701            px_DEBRIEF_LINE_ID,
702            decode( l_debrief_line.DEBRIEF_HEADER_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.DEBRIEF_HEADER_ID),
703            decode( l_debrief_line.DEBRIEF_LINE_NUMBER, FND_API.G_MISS_NUM, NULL, l_debrief_line.DEBRIEF_LINE_NUMBER),
704            decode( l_debrief_line.SERVICE_DATE, FND_API.G_MISS_DATE, to_date(null), l_debrief_line.SERVICE_DATE),
705            decode( l_debrief_line.BUSINESS_PROCESS_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.BUSINESS_PROCESS_ID),
706            decode( l_debrief_line.TXN_BILLING_TYPE_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.TXN_BILLING_TYPE_ID),
707            decode( l_debrief_line.INVENTORY_ITEM_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.INVENTORY_ITEM_ID),
708            decode( l_debrief_line.INSTANCE_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.INSTANCE_ID),
709            decode( l_debrief_line.ISSUING_INVENTORY_ORG_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.ISSUING_INVENTORY_ORG_ID),
710            decode( l_debrief_line.RECEIVING_INVENTORY_ORG_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.RECEIVING_INVENTORY_ORG_ID),
711            decode( l_debrief_line.ISSUING_SUB_INVENTORY_CODE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ISSUING_SUB_INVENTORY_CODE),
712            decode( l_debrief_line.RECEIVING_SUB_INVENTORY_CODE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.RECEIVING_SUB_INVENTORY_CODE),
713            decode( l_debrief_line.ISSUING_LOCATOR_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.ISSUING_LOCATOR_ID),
714            decode( l_debrief_line.RECEIVING_LOCATOR_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.RECEIVING_LOCATOR_ID),
715            decode( l_debrief_line.PARENT_PRODUCT_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.PARENT_PRODUCT_ID),
716            decode( l_debrief_line.REMOVED_PRODUCT_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.REMOVED_PRODUCT_ID),
717            decode( l_debrief_line.STATUS_OF_RECEIVED_PART, FND_API.G_MISS_CHAR, NULL, l_debrief_line.STATUS_OF_RECEIVED_PART),
718            decode( l_debrief_line.ITEM_SERIAL_NUMBER, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ITEM_SERIAL_NUMBER),
719            decode( l_debrief_line.ITEM_REVISION, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ITEM_REVISION),
720            decode( l_debrief_line.ITEM_LOTNUMBER, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ITEM_LOTNUMBER),
721            decode( l_debrief_line.UOM_CODE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.UOM_CODE),
722            decode( l_debrief_line.QUANTITY, FND_API.G_MISS_NUM, NULL, l_debrief_line.QUANTITY),
723            decode( l_debrief_line.RMA_HEADER_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.RMA_HEADER_ID),
724            decode( l_debrief_line.DISPOSITION_CODE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.DISPOSITION_CODE),
725            decode( l_debrief_line.MATERIAL_REASON_CODE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.MATERIAL_REASON_CODE),
726            decode( l_debrief_line.LABOR_REASON_CODE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.LABOR_REASON_CODE),
727            decode( l_debrief_line.EXPENSE_REASON_CODE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.EXPENSE_REASON_CODE),
728            decode( l_debrief_line.LABOR_START_DATE, FND_API.G_MISS_DATE, to_date(null),l_debrief_line.labor_start_date),
729            decode( l_debrief_line.LABOR_END_DATE, FND_API.G_MISS_DATE, to_date(null), l_debrief_line.labor_end_date),
730            decode( l_debrief_line.STARTING_MILEAGE, FND_API.G_MISS_NUM, NULL, l_debrief_line.STARTING_MILEAGE),
731            decode( l_debrief_line.ENDING_MILEAGE, FND_API.G_MISS_NUM, NULL, l_debrief_line.ENDING_MILEAGE),
732            decode( l_debrief_line.EXPENSE_AMOUNT, FND_API.G_MISS_NUM, NULL, l_debrief_line.EXPENSE_AMOUNT),
733            decode( l_debrief_line.CURRENCY_CODE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.CURRENCY_CODE),
734            decode( l_debrief_line.DEBRIEF_LINE_STATUS_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.DEBRIEF_LINE_STATUS_ID),
735            decode( l_debrief_line.RETURN_REASON_CODE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.RETURN_REASON_CODE),
736            decode( l_debrief_line.CHANNEL_CODE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.CHANNEL_CODE),
737            decode( l_debrief_line.CHARGE_UPLOAD_STATUS, FND_API.G_MISS_CHAR, NULL, l_debrief_line.CHARGE_UPLOAD_STATUS),
738            decode( l_debrief_line.CHARGE_UPLOAD_MSG_CODE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.CHARGE_UPLOAD_MSG_CODE),
739            decode( l_debrief_line.CHARGE_UPLOAD_MESSAGE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.CHARGE_UPLOAD_MESSAGE),
740            decode( l_debrief_line.IB_UPDATE_STATUS, FND_API.G_MISS_CHAR, NULL, l_debrief_line.IB_UPDATE_STATUS),
741            decode( l_debrief_line.IB_UPDATE_MSG_CODE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.IB_UPDATE_MSG_CODE),
742            decode( l_debrief_line.IB_UPDATE_MESSAGE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.IB_UPDATE_MESSAGE),
743            decode( l_debrief_line.SPARE_UPDATE_STATUS, FND_API.G_MISS_CHAR, NULL, l_debrief_line.SPARE_UPDATE_STATUS),
744            decode( l_debrief_line.SPARE_UPDATE_MSG_CODE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.SPARE_UPDATE_MSG_CODE),
745            decode( l_debrief_line.SPARE_UPDATE_MESSAGE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.SPARE_UPDATE_MESSAGE),
746            decode( l_debrief_line.CREATED_BY, FND_API.G_MISS_NUM, fnd_global.user_id, l_debrief_line.CREATED_BY),
747            decode( l_debrief_line.CREATION_DATE, FND_API.G_MISS_DATE, sysdate, l_debrief_line.creation_date),
748            decode( l_debrief_line.LAST_UPDATED_BY, FND_API.G_MISS_NUM, fnd_global.user_id, l_debrief_line.LAST_UPDATED_BY),
749            decode( l_debrief_line.last_update_date, FND_API.G_MISS_DATE, sysdate, l_debrief_line.last_update_date),
750            decode( l_debrief_line.LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, fnd_global.conc_login_id, l_debrief_line.LAST_UPDATE_LOGIN),
751            decode( l_debrief_line.ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE1),
752            decode( l_debrief_line.ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE2),
753            decode( l_debrief_line.ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE3),
754            decode( l_debrief_line.ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE4),
755            decode( l_debrief_line.ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE5),
756            decode( l_debrief_line.ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE6),
757            decode( l_debrief_line.ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE7),
758            decode( l_debrief_line.ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE8),
759            decode( l_debrief_line.ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE9),
760            decode( l_debrief_line.ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE10),
761            decode( l_debrief_line.ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE11),
762            decode( l_debrief_line.ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE12),
763            decode( l_debrief_line.ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE13),
764            decode( l_debrief_line.ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE14),
765            decode( l_debrief_line.ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE15),
766            decode( l_debrief_line.ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, l_debrief_line.ATTRIBUTE_CATEGORY),
767            decode( l_debrief_line.TRANSACTION_TYPE_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.TRANSACTION_TYPE_ID),
768            decode( l_debrief_line.RETURN_DATE, FND_API.G_MISS_DATE, NULL, l_debrief_line.RETURN_DATE),
769 
770            decode( l_debrief_line.USAGE_TYPE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.USAGE_TYPE),
771            decode( l_debrief_line.DEST_ORGANIZATION_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.DEST_ORGANIZATION_ID),
772            decode( l_debrief_line.DEST_SUBINVENTORY_NAME, FND_API.G_MISS_CHAR, NULL, l_debrief_line.DEST_SUBINVENTORY_NAME),
773            decode( l_debrief_line.SHIPPING_METHOD, FND_API.G_MISS_CHAR, NULL, l_debrief_line.SHIPPING_METHOD),
774            decode( l_debrief_line.SHIPMENT_NUMBER, FND_API.G_MISS_CHAR, NULL, l_debrief_line.SHIPMENT_NUMBER),
775            decode( l_debrief_line.WAYBILL, FND_API.G_MISS_CHAR, NULL, l_debrief_line.WAYBILL),
776            decode( l_debrief_line.CARRIER_CODE, FND_API.G_MISS_CHAR, NULL, l_debrief_line.CARRIER_CODE),
777            decode( l_debrief_line.material_transaction_id, FND_API.G_MISS_NUM, NULL, l_debrief_line.material_transaction_id),
778 
779            decode( l_debrief_line.EXPENDITURE_ORG_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.EXPENDITURE_ORG_ID),
780            decode( l_debrief_line.PROJECT_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.PROJECT_ID),
781            decode( l_debrief_line.PROJECT_TASK_ID, FND_API.G_MISS_NUM, NULL, l_debrief_line.PROJECT_TASK_ID)
782         );
783         end if;
784 
785         -- dbms_output.put_line('INSERTED ');
786         if l_dml_mode <> 'PRE' then
787           /*
788           if l_debrief_line.issuing_inventory_org_id <> fnd_api.g_miss_num and l_debrief_line.issuing_inventory_org_id is not null
789             and l_debrief_line.issuing_sub_inventory_code <> fnd_api.g_miss_char and l_debrief_line.issuing_sub_inventory_code is not null then
790             log('insert_row', 'This is install line. So, calling create_reservations...');
791             create_reservations
792             (   p_dbf_hdr_id         => l_debrief_line.debrief_header_id
793               , p_inventory_item_id  => l_debrief_line.inventory_item_id
794               , p_qty                => l_debrief_line.quantity
795               , p_uom                => l_debrief_line.uom_code
796               , p_revision           => l_debrief_line.item_revision
797               , p_organization_id    => l_debrief_line.issuing_inventory_org_id
798               , p_subinventory_code  => l_debrief_line.issuing_sub_inventory_code
799               , x_return_status      => l_return_status
800               , x_msg_data           => l_msg_data
801               , x_msg_count          => l_msg_count
802             );
803             if (l_return_status <> fnd_api.g_ret_sts_success) then
804               log('insert_row', 'Reservation creation failed');
805 
806               --fnd_message.set_name('CSF', 'CSF_RESERVATION_FAILED');
807               --fnd_message.set_token('API_NAME', l_api_name_full);
808               --fnd_msg_pub.add;
809               --raise fnd_api.g_exc_unexpected_error;
810 
811             else
812               log('insert_row', 'Reservation created successfully');
813             end if;
814           end if;
815           */
816 
817           IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_LINES_PKG',
818                                     'Insert_Row',
819                                     'B', 'C')  THEN
820           --dbms_output.put_line('CREATE LINE POST ');
821           csf_debrief_lines_cuhk.Create_debrief_line_post
822               ( px_debrief_line     => l_debrief_line,
823                 x_return_status          => l_return_status,
824                 x_msg_count              => l_msg_count,
825                 x_msg_data               => l_msg_data
826               ) ;
827               --dbms_output.put_line('POST  '||l_return_status);
828     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
829       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Customer User Hook');
830       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_CUST_USR_HK');
831       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
832       FND_MSG_PUB.Add;
833       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
834     END IF;
835    END IF;
836 
837 
838   -- Pre call to the Vertical Type User Hook
839   --
840   IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_LINES_PKG',
841                                       'Insert_Row',
842                                       'B', 'V')  THEN
843     csf_debrief_lines_vuhk.Create_debrief_line_post
844                 ( px_debrief_line     => l_debrief_line,
845                   x_return_status          => l_return_status,
846                   x_msg_count              => l_msg_count,
847                   x_msg_data               => l_msg_data
848                 ) ;
849 
850     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
851       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
852       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_VERT_USR_HK');
853       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
854       FND_MSG_PUB.Add;
855       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
856     END IF;
857   END IF;
858 
859     csf_debrief_lines_iuhk.Create_debrief_line_post
860                 ( x_return_status          => l_return_status
861                 ) ;
862 
863     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
864       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
865       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_INT_USR_HK');
866       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
867       FND_MSG_PUB.Add;
868       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
869     END IF;
870     end if;
871 --dbms_output.put_line('END INSERT ROW ');
872 End Insert_Row;
873 
874 PROCEDURE Update_Row_Forms(
875           p_DEBRIEF_LINE_ID              NUMBER,
876           p_DEBRIEF_HEADER_ID            NUMBER default fnd_api.g_miss_num,
877           p_DEBRIEF_LINE_NUMBER          NUMBER default fnd_api.g_miss_num,
878           p_SERVICE_DATE                 DATE default fnd_api.g_miss_date,
879           p_BUSINESS_PROCESS_ID          NUMBER default fnd_api.g_miss_num,
880           p_TXN_BILLING_TYPE_ID          NUMBER default fnd_api.g_miss_num,
881           p_INVENTORY_ITEM_ID            NUMBER default fnd_api.g_miss_num,
882           p_INSTANCE_ID                  NUMBER default fnd_api.g_miss_num,
883           p_ISSUING_INVENTORY_ORG_ID     NUMBER default fnd_api.g_miss_num,
884           p_RECEIVING_INVENTORY_ORG_ID   NUMBER default fnd_api.g_miss_num,
885           p_ISSUING_SUB_INVENTORY_CODE   VARCHAR2 default fnd_api.g_miss_char,
886           p_RECEIVING_SUB_INVENTORY_CODE VARCHAR2 default fnd_api.g_miss_char,
887           p_ISSUING_LOCATOR_ID    	NUMBER default fnd_api.g_miss_num,
888           p_RECEIVING_LOCATOR_ID    NUMBER default fnd_api.g_miss_num,
889           p_PARENT_PRODUCT_ID    		NUMBER default fnd_api.g_miss_num,
890           p_REMOVED_PRODUCT_ID    	NUMBER default fnd_api.g_miss_num,
891           p_STATUS_OF_RECEIVED_PART VARCHAR2 default fnd_api.g_miss_char,
892           p_ITEM_SERIAL_NUMBER     VARCHAR2 default fnd_api.g_miss_char,
893           p_ITEM_REVISION          VARCHAR2 default fnd_api.g_miss_char,
894           p_ITEM_LOTNUMBER    		 VARCHAR2 default fnd_api.g_miss_char,
895           p_UOM_CODE    			     VARCHAR2 default fnd_api.g_miss_char,
896           p_QUANTITY    			     NUMBER default fnd_api.g_miss_num,
897           p_RMA_HEADER_ID    			 NUMBER default fnd_api.g_miss_num,
898           p_DISPOSITION_CODE    	 VARCHAR2 default fnd_api.g_miss_char,
899           p_MATERIAL_REASON_CODE   VARCHAR2 default fnd_api.g_miss_char,
900           p_LABOR_REASON_CODE    	 VARCHAR2 default fnd_api.g_miss_char,
901           p_EXPENSE_REASON_CODE    VARCHAR2 default fnd_api.g_miss_char,
902           p_LABOR_START_DATE       DATE default fnd_api.g_miss_date,
903           p_LABOR_END_DATE         DATE default fnd_api.g_miss_date,
904           p_STARTING_MILEAGE       NUMBER default fnd_api.g_miss_num,
905           p_ENDING_MILEAGE         NUMBER default fnd_api.g_miss_num,
906           p_EXPENSE_AMOUNT    	   NUMBER default fnd_api.g_miss_num,
907           p_CURRENCY_CODE          VARCHAR2 default fnd_api.g_miss_char,
908           p_DEBRIEF_LINE_STATUS_ID NUMBER default fnd_api.g_miss_num,
909           p_RETURN_REASON_CODE 		 VARCHAR2 default fnd_api.g_miss_char,
910           p_CHANNEL_CODE    			 VARCHAR2 default fnd_api.g_miss_char,
911           p_CHARGE_UPLOAD_STATUS   VARCHAR2 default fnd_api.g_miss_char,
912           p_CHARGE_UPLOAD_MSG_CODE VARCHAR2 default fnd_api.g_miss_char,
913           p_CHARGE_UPLOAD_MESSAGE VARCHAR2 default fnd_api.g_miss_char,
914           p_IB_UPDATE_STATUS    	VARCHAR2 default fnd_api.g_miss_char,
915           p_IB_UPDATE_MSG_CODE    VARCHAR2 default fnd_api.g_miss_char,
916           p_IB_UPDATE_MESSAGE    	VARCHAR2 default fnd_api.g_miss_char,
917           p_SPARE_UPDATE_STATUS   VARCHAR2 default fnd_api.g_miss_char,
918           p_SPARE_UPDATE_MSG_CODE VARCHAR2 default fnd_api.g_miss_char,
919           p_SPARE_UPDATE_MESSAGE  VARCHAR2 default fnd_api.g_miss_char,
920           p_error_text            VARCHAR2 default fnd_api.g_miss_char,
921           p_CREATED_BY    			  NUMBER default fnd_api.g_miss_num,
922           p_CREATION_DATE    			DATE default fnd_api.g_miss_date,
923           p_LAST_UPDATED_BY   		NUMBER default fnd_api.g_miss_num,
924           p_LAST_UPDATE_DATE    	DATE default fnd_api.g_miss_date,
925           p_LAST_UPDATE_LOGIN    	NUMBER default fnd_api.g_miss_num,
926           p_ATTRIBUTE1    			  VARCHAR2 default fnd_api.g_miss_char,
927           p_ATTRIBUTE2    			  VARCHAR2 default fnd_api.g_miss_char,
928           p_ATTRIBUTE3    			  VARCHAR2 default fnd_api.g_miss_char,
929           p_ATTRIBUTE4    			  VARCHAR2 default fnd_api.g_miss_char,
930           p_ATTRIBUTE5    			  VARCHAR2 default fnd_api.g_miss_char,
931           p_ATTRIBUTE6    			  VARCHAR2 default fnd_api.g_miss_char,
932           p_ATTRIBUTE7    			  VARCHAR2 default fnd_api.g_miss_char,
933           p_ATTRIBUTE8    			  VARCHAR2 default fnd_api.g_miss_char,
934           p_ATTRIBUTE9    			  VARCHAR2 default fnd_api.g_miss_char,
935           p_ATTRIBUTE10    			  VARCHAR2 default fnd_api.g_miss_char,
936           p_ATTRIBUTE11    			  VARCHAR2 default fnd_api.g_miss_char,
937           p_ATTRIBUTE12    			  VARCHAR2 default fnd_api.g_miss_char,
938           p_ATTRIBUTE13    			  VARCHAR2 default fnd_api.g_miss_char,
939           p_ATTRIBUTE14    			  VARCHAR2 default fnd_api.g_miss_char,
940           p_ATTRIBUTE15           VARCHAR2 default fnd_api.g_miss_char,
941           p_ATTRIBUTE_CATEGORY    VARCHAR2 default fnd_api.g_miss_char,
942           P_TRANSACTION_TYPE_ID  	NUMBER default fnd_api.g_miss_num,
943           p_RETURN_DATE           DATE DEFAULT fnd_api.g_miss_date,
944           p_DML_mode              VARCHAR2 default NULL
945           ) is
946 begin
947   update_row(
948           p_DEBRIEF_LINE_ID => p_debrief_line_id,
949           p_DEBRIEF_HEADER_ID => p_debrief_header_id,
950           p_DEBRIEF_LINE_NUMBER => p_debrief_line_number,
951           p_SERVICE_DATE => p_service_date,
952           p_BUSINESS_PROCESS_ID => p_business_process_id,
953           p_TXN_BILLING_TYPE_ID => p_txn_billing_type_id,
954           p_INVENTORY_ITEM_ID => p_inventory_item_id,
955           p_INSTANCE_ID => p_instance_id,
956           p_ISSUING_INVENTORY_ORG_ID => p_issuing_inventory_org_id,
957           p_RECEIVING_INVENTORY_ORG_ID => p_receiving_inventory_org_id,
958           p_ISSUING_SUB_INVENTORY_CODE => p_issuing_sub_inventory_code,
959           p_RECEIVING_SUB_INVENTORY_CODE => p_receiving_sub_inventory_code,
960           p_ISSUING_LOCATOR_ID =>p_ISSUING_LOCATOR_ID,
961           p_RECEIVING_LOCATOR_ID =>p_RECEIVING_LOCATOR_ID,
962           p_PARENT_PRODUCT_ID =>p_PARENT_PRODUCT_ID,
963           p_REMOVED_PRODUCT_ID =>p_REMOVED_PRODUCT_ID,
964           p_STATUS_OF_RECEIVED_PART =>p_STATUS_OF_RECEIVED_PART,
965           p_ITEM_SERIAL_NUMBER =>p_ITEM_SERIAL_NUMBER,
966           p_ITEM_REVISION =>p_ITEM_REVISION,
967           p_ITEM_LOTNUMBER =>p_ITEM_LOTNUMBER,
968           p_UOM_CODE =>p_UOM_CODE,
969           p_QUANTITY =>p_QUANTITY,
970           p_RMA_HEADER_ID =>p_RMA_HEADER_ID,
971           p_DISPOSITION_CODE =>p_DISPOSITION_CODE,
972           p_MATERIAL_REASON_CODE =>p_MATERIAL_REASON_CODE,
973           p_LABOR_REASON_CODE =>p_LABOR_REASON_CODE,
974           p_EXPENSE_REASON_CODE =>p_EXPENSE_REASON_CODE,
975           p_LABOR_START_DATE =>p_LABOR_START_DATE,
976           p_LABOR_END_DATE =>p_LABOR_END_DATE,
977           p_STARTING_MILEAGE =>p_STARTING_MILEAGE,
978           p_ENDING_MILEAGE =>p_ENDING_MILEAGE,
979           p_EXPENSE_AMOUNT =>p_EXPENSE_AMOUNT,
980           p_CURRENCY_CODE =>p_CURRENCY_CODE,
981           p_DEBRIEF_LINE_STATUS_ID =>p_DEBRIEF_LINE_STATUS_ID,
982           p_RETURN_REASON_CODE =>p_RETURN_REASON_CODE,
983           p_CHANNEL_CODE =>p_CHANNEL_CODE,
984           p_CHARGE_UPLOAD_STATUS =>p_CHARGE_UPLOAD_STATUS,
985           p_CHARGE_UPLOAD_MSG_CODE =>p_CHARGE_UPLOAD_MSG_CODE,
986           p_CHARGE_UPLOAD_MESSAGE =>p_CHARGE_UPLOAD_MESSAGE,
987           p_IB_UPDATE_STATUS =>p_IB_UPDATE_STATUS,
988           p_IB_UPDATE_MSG_CODE =>p_IB_UPDATE_MSG_CODE,
989           p_IB_UPDATE_MESSAGE =>p_IB_UPDATE_MESSAGE,
990           p_SPARE_UPDATE_STATUS =>p_SPARE_UPDATE_STATUS,
991           p_SPARE_UPDATE_MSG_CODE =>p_SPARE_UPDATE_MSG_CODE,
992           p_SPARE_UPDATE_MESSAGE =>p_SPARE_UPDATE_MESSAGE,
993           p_CREATED_BY =>p_CREATED_BY,
994           p_CREATION_DATE =>p_CREATION_DATE,
995           p_LAST_UPDATED_BY =>p_LAST_UPDATED_BY,
996           p_LAST_UPDATE_DATE =>p_LAST_UPDATE_DATE,
997           p_LAST_UPDATE_LOGIN =>p_LAST_UPDATE_LOGIN,
998           p_ATTRIBUTE1 => p_ATTRIBUTE1,
999           p_ATTRIBUTE2 => p_ATTRIBUTE2,
1000           p_ATTRIBUTE3 => p_ATTRIBUTE3,
1001           p_ATTRIBUTE4 => p_ATTRIBUTE4,
1002           p_ATTRIBUTE5 => p_ATTRIBUTE5,
1003           p_ATTRIBUTE6 => p_ATTRIBUTE6,
1004           p_ATTRIBUTE7 => p_ATTRIBUTE7,
1005           p_ATTRIBUTE8 => p_ATTRIBUTE8,
1006           p_ATTRIBUTE9 => p_ATTRIBUTE9,
1007           p_ATTRIBUTE10 => p_ATTRIBUTE10,
1008           p_ATTRIBUTE11 => p_ATTRIBUTE11,
1009           p_ATTRIBUTE12 => p_ATTRIBUTE12,
1010           p_ATTRIBUTE13 => p_ATTRIBUTE13,
1011           p_ATTRIBUTE14 => p_ATTRIBUTE14,
1012           p_ATTRIBUTE15 => p_ATTRIBUTE15,
1013           p_ATTRIBUTE_CATEGORY    => p_ATTRIBUTE_CATEGORY,
1014           P_TRANSACTION_TYPE_ID =>P_TRANSACTION_TYPE_ID ,
1015           p_return_date => p_return_date,
1016           p_DML_mode => p_DML_mode,
1017           p_usage_type => FND_API.G_MISS_CHAR,
1018           p_dest_organization_id => FND_API.G_MISS_NUM,
1019           p_dest_subinventory_name => FND_API.G_MISS_CHAR,
1020           p_carrier_code => FND_API.G_MISS_CHAR,
1021           p_shipping_method => FND_API.G_MISS_CHAR,
1022           p_shipment_number => FND_API.G_MISS_CHAR,
1023           p_waybill => FND_API.G_MISS_CHAR
1024           );
1025 end;
1026 
1027 PROCEDURE Update_Row(
1028           p_DEBRIEF_LINE_ID    NUMBER,
1029           p_DEBRIEF_HEADER_ID    NUMBER,
1030           p_DEBRIEF_LINE_NUMBER    NUMBER,
1031           p_SERVICE_DATE    DATE,
1032           p_BUSINESS_PROCESS_ID    NUMBER,
1033           p_TXN_BILLING_TYPE_ID    NUMBER,
1034           p_INVENTORY_ITEM_ID    NUMBER,
1035           P_INSTANCE_ID          NUMBER,
1036           p_ISSUING_INVENTORY_ORG_ID    NUMBER,
1037           p_RECEIVING_INVENTORY_ORG_ID    NUMBER,
1038           p_ISSUING_SUB_INVENTORY_CODE    VARCHAR2,
1039           p_RECEIVING_SUB_INVENTORY_CODE    VARCHAR2,
1040           p_ISSUING_LOCATOR_ID    NUMBER,
1041           p_RECEIVING_LOCATOR_ID    NUMBER,
1042           p_PARENT_PRODUCT_ID    NUMBER,
1043           p_REMOVED_PRODUCT_ID    NUMBER,
1044           p_STATUS_OF_RECEIVED_PART    VARCHAR2,
1045           p_ITEM_SERIAL_NUMBER    VARCHAR2,
1046           p_ITEM_REVISION    VARCHAR2,
1047           p_ITEM_LOTNUMBER    VARCHAR2,
1048           p_UOM_CODE    VARCHAR2,
1049           p_QUANTITY    NUMBER,
1050           p_RMA_HEADER_ID    NUMBER,
1051           p_DISPOSITION_CODE    VARCHAR2,
1052           p_MATERIAL_REASON_CODE    VARCHAR2,
1053           p_LABOR_REASON_CODE    VARCHAR2,
1054           p_EXPENSE_REASON_CODE    VARCHAR2,
1055           p_LABOR_START_DATE    DATE,
1056           p_LABOR_END_DATE    DATE,
1057           p_STARTING_MILEAGE    NUMBER,
1058           p_ENDING_MILEAGE    NUMBER,
1059           p_EXPENSE_AMOUNT    NUMBER,
1060           p_CURRENCY_CODE    VARCHAR2,
1061           p_DEBRIEF_LINE_STATUS_ID    NUMBER,
1062           P_RETURN_REASON_CODE    VARCHAR2,
1063           p_CHANNEL_CODE    VARCHAR2,
1064           p_CHARGE_UPLOAD_STATUS    VARCHAR2,
1065           p_CHARGE_UPLOAD_MSG_CODE    VARCHAR2,
1066           p_CHARGE_UPLOAD_MESSAGE    VARCHAR2,
1067           p_IB_UPDATE_STATUS    VARCHAR2,
1068           p_IB_UPDATE_MSG_CODE    VARCHAR2,
1069           p_IB_UPDATE_MESSAGE    VARCHAR2,
1070           p_SPARE_UPDATE_STATUS    VARCHAR2,
1071           p_SPARE_UPDATE_MSG_CODE    VARCHAR2,
1072           p_SPARE_UPDATE_MESSAGE    VARCHAR2,
1073           p_error_text varchar2,
1074           p_CREATED_BY    NUMBER,
1075           p_CREATION_DATE    DATE,
1076           p_LAST_UPDATED_BY    NUMBER,
1077           p_LAST_UPDATE_DATE    DATE,
1078           p_LAST_UPDATE_LOGIN    NUMBER,
1079           p_ATTRIBUTE1    VARCHAR2,
1080           p_ATTRIBUTE2    VARCHAR2,
1081           p_ATTRIBUTE3    VARCHAR2,
1082           p_ATTRIBUTE4    VARCHAR2,
1083           p_ATTRIBUTE5    VARCHAR2,
1084           p_ATTRIBUTE6    VARCHAR2,
1085           p_ATTRIBUTE7    VARCHAR2,
1086           p_ATTRIBUTE8    VARCHAR2,
1087           p_ATTRIBUTE9    VARCHAR2,
1088           p_ATTRIBUTE10    VARCHAR2,
1089           p_ATTRIBUTE11    VARCHAR2,
1090           p_ATTRIBUTE12    VARCHAR2,
1091           p_ATTRIBUTE13    VARCHAR2,
1092           p_ATTRIBUTE14    VARCHAR2,
1093           p_ATTRIBUTE15    VARCHAR2,
1094           p_ATTRIBUTE_CATEGORY    VARCHAR2,
1095           P_TRANSACTION_TYPE_ID  NUMBER,
1096           P_RETURN_DATE     DATE,
1097           p_DML_mode            VARCHAR2,
1098           p_usage_type                      varchar2,
1099           p_dest_organization_id            number,
1100           p_dest_subinventory_name          varchar2,
1101           p_carrier_code                    varchar2,
1102           p_shipping_method                 varchar2,
1103           p_shipment_number                 varchar2,
1104           p_waybill                         VARCHAR2,
1105           p_material_transaction_id         number,
1106           p_expenditure_org_id              number,
1107           p_project_id                      number,
1108           p_project_task_id                 number
1109           )
1110 
1111  IS
1112    l_debrief_line  CSF_DEBRIEF_PUB.DEBRIEF_LINE_Rec_Type;
1113    l_return_status    varchar2(100);
1114    l_msg_count        NUMBER;
1115    l_msg_data         varchar2(1000);
1116    l_api_name_full    varchar2(50) := 'CSF_DEBRIEF_LINES_PKG.UPDATE_ROW';
1117    l_dml_mode		  varchar2(10) := p_DML_mode;
1118  BEGIN
1119            l_debrief_line.DEBRIEF_LINE_ID:= p_DEBRIEF_LINE_ID  ;
1120            l_debrief_line.DEBRIEF_HEADER_ID:= p_DEBRIEF_HEADER_ID    ;
1121           l_debrief_line.DEBRIEF_LINE_NUMBER:=p_DEBRIEF_LINE_NUMBER    ;
1122           l_debrief_line.SERVICE_DATE:=p_SERVICE_DATE   ;
1123           l_debrief_line.BUSINESS_PROCESS_ID:=p_BUSINESS_PROCESS_ID    ;
1124           l_debrief_line.TXN_BILLING_TYPE_ID:=p_TXN_BILLING_TYPE_ID    ;
1125           l_debrief_line.INVENTORY_ITEM_ID:=p_INVENTORY_ITEM_ID    ;
1126           l_debrief_line.INSTANCE_ID:=p_INSTANCE_ID          ;
1127           l_debrief_line.ISSUING_INVENTORY_ORG_ID:=p_ISSUING_INVENTORY_ORG_ID    ;
1128           l_debrief_line.RECEIVING_INVENTORY_ORG_ID:=p_RECEIVING_INVENTORY_ORG_ID    ;
1129           l_debrief_line.ISSUING_SUB_INVENTORY_CODE:=p_ISSUING_SUB_INVENTORY_CODE    ;
1130           l_debrief_line.RECEIVING_SUB_INVENTORY_CODE:=p_RECEIVING_SUB_INVENTORY_CODE    ;
1131           l_debrief_line.ISSUING_LOCATOR_ID :=p_ISSUING_LOCATOR_ID   ;
1132           l_debrief_line.RECEIVING_LOCATOR_ID:=p_RECEIVING_LOCATOR_ID   ;
1133           l_debrief_line.PARENT_PRODUCT_ID:=p_PARENT_PRODUCT_ID    ;
1134           l_debrief_line.REMOVED_PRODUCT_ID:=p_REMOVED_PRODUCT_ID    ;
1135           l_debrief_line.STATUS_OF_RECEIVED_PART:=p_STATUS_OF_RECEIVED_PART   ;
1136           l_debrief_line.ITEM_SERIAL_NUMBER:=p_ITEM_SERIAL_NUMBER    ;
1137           l_debrief_line.ITEM_REVISION :=p_ITEM_REVISION    ;
1138           l_debrief_line.ITEM_LOTNUMBER:=p_ITEM_LOTNUMBER    ;
1139           l_debrief_line.UOM_CODE:=p_UOM_CODE    ;
1140           l_debrief_line.QUANTITY:=p_QUANTITY    ;
1141           l_debrief_line.RMA_HEADER_ID:=p_RMA_HEADER_ID    ;
1142           l_debrief_line.DISPOSITION_CODE:=p_DISPOSITION_CODE    ;
1143           l_debrief_line.MATERIAL_REASON_CODE:=p_MATERIAL_REASON_CODE   ;
1144           l_debrief_line.LABOR_REASON_CODE:=p_LABOR_REASON_CODE   ;
1145           l_debrief_line.EXPENSE_REASON_CODE:=p_EXPENSE_REASON_CODE    ;
1146           l_debrief_line.LABOR_START_DATE:=p_LABOR_START_DATE    ;
1147           l_debrief_line.LABOR_END_DATE:=p_LABOR_END_DATE    ;
1148           l_debrief_line.STARTING_MILEAGE:=p_STARTING_MILEAGE   ;
1149           l_debrief_line.ENDING_MILEAGE:=p_ENDING_MILEAGE    ;
1150           l_debrief_line.EXPENSE_AMOUNT:=p_EXPENSE_AMOUNT    ;
1151           l_debrief_line.CURRENCY_CODE:=p_CURRENCY_CODE    ;
1152           l_debrief_line.DEBRIEF_LINE_STATUS_ID:=p_DEBRIEF_LINE_STATUS_ID    ;
1153            l_debrief_line.RETURN_REASON_CODE:=p_RETURN_REASON_CODE ;
1154           l_debrief_line.CHANNEL_CODE:=p_CHANNEL_CODE    ;
1155           l_debrief_line.CHARGE_UPLOAD_STATUS:=p_CHARGE_UPLOAD_STATUS   ;
1156           l_debrief_line.CHARGE_UPLOAD_MSG_CODE:=p_CHARGE_UPLOAD_MSG_CODE    ;
1157           l_debrief_line.CHARGE_UPLOAD_MESSAGE:=p_CHARGE_UPLOAD_MESSAGE    ;
1158           l_debrief_line.IB_UPDATE_STATUS:=p_IB_UPDATE_STATUS    ;
1159           l_debrief_line.IB_UPDATE_MSG_CODE:=p_IB_UPDATE_MSG_CODE    ;
1160           l_debrief_line.IB_UPDATE_MESSAGE:=p_IB_UPDATE_MESSAGE    ;
1161           l_debrief_line.SPARE_UPDATE_STATUS:=p_SPARE_UPDATE_STATUS    ;
1162           l_debrief_line.SPARE_UPDATE_MSG_CODE:=p_SPARE_UPDATE_MSG_CODE    ;
1163           l_debrief_line.SPARE_UPDATE_MESSAGE:=p_SPARE_UPDATE_MESSAGE    ;
1164           l_debrief_line.error_text:=p_error_text;
1165           l_debrief_line.CREATED_BY:=p_CREATED_BY    ;
1166           l_debrief_line.CREATION_DATE:=p_CREATION_DATE    ;
1167           l_debrief_line.LAST_UPDATED_BY:=p_LAST_UPDATED_BY    ;
1168           l_debrief_line.LAST_UPDATE_DATE:=p_LAST_UPDATE_DATE    ;
1169           l_debrief_line.LAST_UPDATE_LOGIN :=p_LAST_UPDATE_LOGIN    ;
1170           l_debrief_line.ATTRIBUTE1:=p_ATTRIBUTE1    ;
1171           l_debrief_line.ATTRIBUTE2 :=p_ATTRIBUTE2    ;
1172           l_debrief_line.ATTRIBUTE3 :=p_ATTRIBUTE3    ;
1173           l_debrief_line.ATTRIBUTE4 :=p_ATTRIBUTE4    ;
1174           l_debrief_line.ATTRIBUTE5 :=p_ATTRIBUTE5    ;
1175           l_debrief_line.ATTRIBUTE6 :=p_ATTRIBUTE6    ;
1176           l_debrief_line.ATTRIBUTE7 :=p_ATTRIBUTE7    ;
1177           l_debrief_line.ATTRIBUTE8 :=p_ATTRIBUTE8    ;
1178           l_debrief_line.ATTRIBUTE9 :=p_ATTRIBUTE9    ;
1179           l_debrief_line.ATTRIBUTE10 :=p_ATTRIBUTE10    ;
1180           l_debrief_line.ATTRIBUTE11 :=p_ATTRIBUTE11    ;
1181           l_debrief_line.ATTRIBUTE12 :=p_ATTRIBUTE12    ;
1182           l_debrief_line.ATTRIBUTE13 :=p_ATTRIBUTE13    ;
1183           l_debrief_line.ATTRIBUTE14 :=p_ATTRIBUTE14    ;
1184           l_debrief_line.ATTRIBUTE15 :=p_ATTRIBUTE15    ;
1185           l_debrief_line.ATTRIBUTE_CATEGORY :=p_ATTRIBUTE_CATEGORY    ;
1186           l_debrief_line.TRANSACTION_TYPE_ID := P_TRANSACTION_TYPE_ID;
1187           l_debrief_line.RETURN_DATE:=p_RETURN_DATE   ;
1188 
1189           if l_dml_mode is null then
1190             l_dml_mode := 'BOTH';
1191           end if;
1192 
1193          l_debrief_line.usage_type               := p_usage_type;
1194          l_debrief_line.dest_organization_id     := p_dest_organization_id;
1195          l_debrief_line.dest_subinventory_name   := p_dest_subinventory_name;
1196          l_debrief_line.carrier_code             := p_carrier_code;
1197          l_debrief_line.shipping_method          := p_shipping_method;
1198          l_debrief_line.shipment_number          := p_shipment_number;
1199          l_debrief_line.waybill                  := p_waybill;
1200          l_debrief_line.material_transaction_id  := p_material_transaction_id;
1201 
1202          l_debrief_line.expenditure_org_id       := p_expenditure_org_id;
1203          l_debrief_line.project_id               := p_project_id;
1204          l_debrief_line.project_task_id          := p_project_task_id;
1205 
1206     if l_dml_mode <> 'POST' then
1207 
1208     IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_LINES_PKG',
1209                                       'Update_Row',
1210                                       'B', 'C')  THEN
1211 
1212             csf_debrief_lines_cuhk.update_debrief_line_Pre
1213                 ( px_debrief_line     => l_debrief_line,
1214                   x_return_status          => l_return_status,
1215                   x_msg_count              => l_msg_count,
1216                   x_msg_data               => l_msg_data
1217                 ) ;
1218     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1219       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Customer User Hook');
1220       --FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_CUST_USR_HK');
1221       --FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1222       --FND_MSG_PUB.Add;
1223       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1224     END IF;
1225    END IF;
1226 
1227 
1228   -- Pre call to the Vertical Type User Hook
1229   --
1230   IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_LINES_PKG',
1231                                       'Insert_Row',
1232                                       'B', 'V')  THEN
1233     csf_debrief_lines_vuhk.update_debrief_line_Pre
1234                 ( px_debrief_line     => l_debrief_line,
1235                   x_return_status          => l_return_status,
1236                   x_msg_count              => l_msg_count,
1237                   x_msg_data               => l_msg_data
1238                 ) ;
1239 
1240     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1241       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
1242       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_VERT_USR_HK');
1243       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1244       FND_MSG_PUB.Add;
1245       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1246     END IF;
1247   END IF;
1248      user_hooks_rec.DEBRIEF_LINE_ID := l_debrief_line.DEBRIEF_LINE_ID;
1249     csf_debrief_lines_iuhk.update_debrief_line_Pre
1250                 ( x_return_status          => l_return_status
1251                 ) ;
1252 
1253     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1254       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
1255       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_INT_USR_HK');
1256       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1257       FND_MSG_PUB.Add;
1258       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1259     END IF;
1260 
1261     end if;
1262 
1263     if l_dml_mode = 'BOTH' then
1264 
1265     Update CSF_DEBRIEF_LINES
1266     SET
1267               DEBRIEF_HEADER_ID = decode( l_debrief_line.DEBRIEF_HEADER_ID, FND_API.G_MISS_NUM, DEBRIEF_HEADER_ID, l_debrief_line.DEBRIEF_HEADER_ID),
1268               DEBRIEF_LINE_NUMBER = decode( l_debrief_line.DEBRIEF_LINE_NUMBER, FND_API.G_MISS_NUM, DEBRIEF_LINE_NUMBER, l_debrief_line.DEBRIEF_LINE_NUMBER),
1269               SERVICE_DATE = decode( l_debrief_line.SERVICE_DATE, FND_API.G_MISS_DATE, SERVICE_DATE, l_debrief_line.SERVICE_DATE),
1270               BUSINESS_PROCESS_ID = decode( l_debrief_line.BUSINESS_PROCESS_ID, FND_API.G_MISS_NUM, BUSINESS_PROCESS_ID, l_debrief_line.BUSINESS_PROCESS_ID),
1271               TXN_BILLING_TYPE_ID = decode( l_debrief_line.TXN_BILLING_TYPE_ID, FND_API.G_MISS_NUM, TXN_BILLING_TYPE_ID, l_debrief_line.TXN_BILLING_TYPE_ID),
1272               INVENTORY_ITEM_ID = decode( l_debrief_line.INVENTORY_ITEM_ID, FND_API.G_MISS_NUM, INVENTORY_ITEM_ID, l_debrief_line.INVENTORY_ITEM_ID),
1273               INSTANCE_ID = decode( l_debrief_line.INSTANCE_ID, FND_API.G_MISS_NUM, INSTANCE_ID, l_debrief_line.INSTANCE_ID),
1274               ISSUING_INVENTORY_ORG_ID = decode( l_debrief_line.ISSUING_INVENTORY_ORG_ID, FND_API.G_MISS_NUM, ISSUING_INVENTORY_ORG_ID, l_debrief_line.ISSUING_INVENTORY_ORG_ID),
1275               RECEIVING_INVENTORY_ORG_ID = decode( l_debrief_line.RECEIVING_INVENTORY_ORG_ID, FND_API.G_MISS_NUM, RECEIVING_INVENTORY_ORG_ID, l_debrief_line.RECEIVING_INVENTORY_ORG_ID),
1276               ISSUING_SUB_INVENTORY_CODE = decode( l_debrief_line.ISSUING_SUB_INVENTORY_CODE, FND_API.G_MISS_CHAR, ISSUING_SUB_INVENTORY_CODE, l_debrief_line.ISSUING_SUB_INVENTORY_CODE),
1277               RECEIVING_SUB_INVENTORY_CODE = decode( l_debrief_line.RECEIVING_SUB_INVENTORY_CODE, FND_API.G_MISS_CHAR, RECEIVING_SUB_INVENTORY_CODE, l_debrief_line.RECEIVING_SUB_INVENTORY_CODE),
1278               ISSUING_LOCATOR_ID = decode( l_debrief_line.ISSUING_LOCATOR_ID, FND_API.G_MISS_NUM, ISSUING_LOCATOR_ID, l_debrief_line.ISSUING_LOCATOR_ID),
1279               RECEIVING_LOCATOR_ID = decode( l_debrief_line.RECEIVING_LOCATOR_ID, FND_API.G_MISS_NUM, RECEIVING_LOCATOR_ID, l_debrief_line.RECEIVING_LOCATOR_ID),
1280               PARENT_PRODUCT_ID = decode( l_debrief_line.PARENT_PRODUCT_ID, FND_API.G_MISS_NUM, PARENT_PRODUCT_ID, l_debrief_line.PARENT_PRODUCT_ID),
1281               REMOVED_PRODUCT_ID = decode( l_debrief_line.REMOVED_PRODUCT_ID, FND_API.G_MISS_NUM, REMOVED_PRODUCT_ID, l_debrief_line.REMOVED_PRODUCT_ID),
1282               STATUS_OF_RECEIVED_PART = decode( l_debrief_line.STATUS_OF_RECEIVED_PART, FND_API.G_MISS_CHAR, STATUS_OF_RECEIVED_PART, l_debrief_line.STATUS_OF_RECEIVED_PART),
1283               ITEM_SERIAL_NUMBER = decode( l_debrief_line.ITEM_SERIAL_NUMBER, FND_API.G_MISS_CHAR, ITEM_SERIAL_NUMBER, l_debrief_line.ITEM_SERIAL_NUMBER),
1284               ITEM_REVISION = decode( l_debrief_line.ITEM_REVISION, FND_API.G_MISS_CHAR, ITEM_REVISION, l_debrief_line.ITEM_REVISION),
1285               ITEM_LOTNUMBER = decode( l_debrief_line.ITEM_LOTNUMBER, FND_API.G_MISS_CHAR, ITEM_LOTNUMBER, l_debrief_line.ITEM_LOTNUMBER),
1286               UOM_CODE = decode( l_debrief_line.UOM_CODE, FND_API.G_MISS_CHAR, UOM_CODE, l_debrief_line.UOM_CODE),
1287               QUANTITY = decode( l_debrief_line.QUANTITY, FND_API.G_MISS_NUM, QUANTITY, l_debrief_line.QUANTITY),
1288               RMA_HEADER_ID = decode( l_debrief_line.RMA_HEADER_ID, FND_API.G_MISS_NUM, RMA_HEADER_ID, l_debrief_line.RMA_HEADER_ID),
1289               DISPOSITION_CODE = decode( l_debrief_line.DISPOSITION_CODE, FND_API.G_MISS_CHAR, DISPOSITION_CODE, l_debrief_line.DISPOSITION_CODE),
1290               MATERIAL_REASON_CODE = decode( l_debrief_line.MATERIAL_REASON_CODE, FND_API.G_MISS_CHAR, MATERIAL_REASON_CODE, l_debrief_line.MATERIAL_REASON_CODE),
1291               LABOR_REASON_CODE = decode( l_debrief_line.LABOR_REASON_CODE, FND_API.G_MISS_CHAR, LABOR_REASON_CODE, l_debrief_line.LABOR_REASON_CODE),
1292               EXPENSE_REASON_CODE = decode( l_debrief_line.EXPENSE_REASON_CODE, FND_API.G_MISS_CHAR, EXPENSE_REASON_CODE, l_debrief_line.EXPENSE_REASON_CODE),
1293               LABOR_START_DATE = decode(l_debrief_line.LABOR_START_DATE,fnd_api.g_miss_date,labor_start_date,l_debrief_line.labor_start_date),
1294               LABOR_END_DATE = decode(l_debrief_line.LABOR_END_DATE,fnd_api.g_miss_date,labor_end_date,l_debrief_line.labor_end_date),
1295               STARTING_MILEAGE = decode( l_debrief_line.STARTING_MILEAGE, FND_API.G_MISS_NUM, STARTING_MILEAGE, l_debrief_line.STARTING_MILEAGE),
1296               ENDING_MILEAGE = decode( l_debrief_line.ENDING_MILEAGE, FND_API.G_MISS_NUM, ENDING_MILEAGE, l_debrief_line.ENDING_MILEAGE),
1297               EXPENSE_AMOUNT = decode( p_EXPENSE_AMOUNT, FND_API.G_MISS_NUM, EXPENSE_AMOUNT, l_debrief_line.EXPENSE_AMOUNT),
1298               CURRENCY_CODE = decode( l_debrief_line.CURRENCY_CODE, FND_API.G_MISS_CHAR, CURRENCY_CODE, l_debrief_line.CURRENCY_CODE),
1299               DEBRIEF_LINE_STATUS_ID = decode( l_debrief_line.DEBRIEF_LINE_STATUS_ID, FND_API.G_MISS_NUM, DEBRIEF_LINE_STATUS_ID, l_debrief_line.DEBRIEF_LINE_STATUS_ID),
1300               RETURN_REASON_CODE = decode( l_debrief_line.RETURN_REASON_CODE, FND_API.G_MISS_CHAR, RETURN_REASON_CODE, l_debrief_line.return_reason_CODE),
1301               CHANNEL_CODE = decode( l_debrief_line.CHANNEL_CODE, FND_API.G_MISS_CHAR, CHANNEL_CODE, l_debrief_line.CHANNEL_CODE),
1302               CHARGE_UPLOAD_STATUS = decode( l_debrief_line.CHARGE_UPLOAD_STATUS, FND_API.G_MISS_CHAR, CHARGE_UPLOAD_STATUS, l_debrief_line.CHARGE_UPLOAD_STATUS),
1303               CHARGE_UPLOAD_MSG_CODE = decode( l_debrief_line.CHARGE_UPLOAD_MSG_CODE, FND_API.G_MISS_CHAR, CHARGE_UPLOAD_MSG_CODE, l_debrief_line.CHARGE_UPLOAD_MSG_CODE),
1304               CHARGE_UPLOAD_MESSAGE = decode( l_debrief_line.CHARGE_UPLOAD_MESSAGE, FND_API.G_MISS_CHAR, CHARGE_UPLOAD_MESSAGE, l_debrief_line.CHARGE_UPLOAD_MESSAGE),
1305               IB_UPDATE_STATUS = decode( l_debrief_line.IB_UPDATE_STATUS, FND_API.G_MISS_CHAR, IB_UPDATE_STATUS, l_debrief_line.IB_UPDATE_STATUS),
1306               IB_UPDATE_MSG_CODE = decode( l_debrief_line.IB_UPDATE_MSG_CODE, FND_API.G_MISS_CHAR, IB_UPDATE_MSG_CODE, l_debrief_line.IB_UPDATE_MSG_CODE),
1307               IB_UPDATE_MESSAGE = decode( l_debrief_line.IB_UPDATE_MESSAGE, FND_API.G_MISS_CHAR, IB_UPDATE_MESSAGE, l_debrief_line.IB_UPDATE_MESSAGE),
1308               SPARE_UPDATE_STATUS = decode( l_debrief_line.SPARE_UPDATE_STATUS, FND_API.G_MISS_CHAR, SPARE_UPDATE_STATUS, l_debrief_line.SPARE_UPDATE_STATUS),
1309               SPARE_UPDATE_MSG_CODE = decode( l_debrief_line.SPARE_UPDATE_MSG_CODE, FND_API.G_MISS_CHAR, SPARE_UPDATE_MSG_CODE, l_debrief_line.SPARE_UPDATE_MSG_CODE),
1310               SPARE_UPDATE_MESSAGE = decode( l_debrief_line.SPARE_UPDATE_MESSAGE, FND_API.G_MISS_CHAR, SPARE_UPDATE_MESSAGE, l_debrief_line.SPARE_UPDATE_MESSAGE),
1311               error_text = decode( l_debrief_line.error_text, FND_API.G_MISS_CHAR, error_text, l_debrief_line.error_text),
1312               CREATED_BY = decode( l_debrief_line.CREATED_BY, FND_API.G_MISS_NUM, CREATED_BY, l_debrief_line.CREATED_BY),
1313               CREATION_DATE = decode( l_debrief_line.CREATION_DATE, FND_API.G_MISS_DATE,creation_date,l_debrief_line.creation_date),
1314               LAST_UPDATED_BY = decode( l_debrief_line.LAST_UPDATED_BY, FND_API.G_MISS_NUM, LAST_UPDATED_BY, l_debrief_line.LAST_UPDATED_BY),
1315               LAST_UPDATE_DATE = decode(l_debrief_line.LAST_UPDATE_DATE,fnd_api.g_miss_date,last_update_date,l_debrief_line.last_update_date),
1316               LAST_UPDATE_LOGIN = decode( l_debrief_line.LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, LAST_UPDATE_LOGIN, l_debrief_line.LAST_UPDATE_LOGIN),
1317               ATTRIBUTE1 = decode( l_debrief_line.ATTRIBUTE1, FND_API.G_MISS_CHAR, ATTRIBUTE1, l_debrief_line.ATTRIBUTE1),
1318               ATTRIBUTE2 = decode( l_debrief_line.ATTRIBUTE2, FND_API.G_MISS_CHAR, ATTRIBUTE2, l_debrief_line.ATTRIBUTE2),
1319               ATTRIBUTE3 = decode( l_debrief_line.ATTRIBUTE3, FND_API.G_MISS_CHAR, ATTRIBUTE3, l_debrief_line.ATTRIBUTE3),
1320               ATTRIBUTE4 = decode( l_debrief_line.ATTRIBUTE4, FND_API.G_MISS_CHAR, ATTRIBUTE4, l_debrief_line.ATTRIBUTE4),
1321               ATTRIBUTE5 = decode( l_debrief_line.ATTRIBUTE5, FND_API.G_MISS_CHAR, ATTRIBUTE5, l_debrief_line.ATTRIBUTE5),
1322               ATTRIBUTE6 = decode( l_debrief_line.ATTRIBUTE6, FND_API.G_MISS_CHAR, ATTRIBUTE6, l_debrief_line.ATTRIBUTE6),
1323               ATTRIBUTE7 = decode( l_debrief_line.ATTRIBUTE7, FND_API.G_MISS_CHAR, ATTRIBUTE7, l_debrief_line.ATTRIBUTE7),
1324               ATTRIBUTE8 = decode( l_debrief_line.ATTRIBUTE8, FND_API.G_MISS_CHAR, ATTRIBUTE8, l_debrief_line.ATTRIBUTE8),
1325               ATTRIBUTE9 = decode( l_debrief_line.ATTRIBUTE9, FND_API.G_MISS_CHAR, ATTRIBUTE9, l_debrief_line.ATTRIBUTE9),
1326               ATTRIBUTE10 = decode( l_debrief_line.ATTRIBUTE10, FND_API.G_MISS_CHAR, ATTRIBUTE10, l_debrief_line.ATTRIBUTE10),
1327               ATTRIBUTE11 = decode( l_debrief_line.ATTRIBUTE11, FND_API.G_MISS_CHAR, ATTRIBUTE11, l_debrief_line.ATTRIBUTE11),
1328               ATTRIBUTE12 = decode( l_debrief_line.ATTRIBUTE12, FND_API.G_MISS_CHAR, ATTRIBUTE12, l_debrief_line.ATTRIBUTE12),
1329               ATTRIBUTE13 = decode( l_debrief_line.ATTRIBUTE13, FND_API.G_MISS_CHAR, ATTRIBUTE13, l_debrief_line.ATTRIBUTE13),
1330               ATTRIBUTE14 = decode( l_debrief_line.ATTRIBUTE14, FND_API.G_MISS_CHAR, ATTRIBUTE14, l_debrief_line.ATTRIBUTE14),
1331               ATTRIBUTE15 = decode( l_debrief_line.ATTRIBUTE15, FND_API.G_MISS_CHAR, ATTRIBUTE15, l_debrief_line.ATTRIBUTE15),
1332               ATTRIBUTE_CATEGORY = decode( l_debrief_line.ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, ATTRIBUTE_CATEGORY, l_debrief_line.ATTRIBUTE_CATEGORY),
1333               TRANSACTION_TYPE_ID = decode( l_debrief_line.TRANSACTION_TYPE_ID, FND_API.G_MISS_NUM, TRANSACTION_TYPE_ID, l_debrief_line.TRANSACTION_TYPE_ID),
1334               RETURN_DATE = decode( l_debrief_line.RETURN_DATE, FND_API.G_MISS_DATE, RETURN_DATE, l_debrief_line.RETURN_DATE),
1335 
1336               USAGE_TYPE = decode( l_debrief_line.USAGE_TYPE, FND_API.G_MISS_CHAR, USAGE_TYPE, l_debrief_line.USAGE_TYPE),
1337               RETURN_ORGANIZATION_ID = decode( l_debrief_line.DEST_ORGANIZATION_ID, FND_API.G_MISS_NUM, RETURN_ORGANIZATION_ID, l_debrief_line.DEST_ORGANIZATION_ID),
1338               RETURN_SUBINVENTORY_NAME = decode( l_debrief_line.DEST_SUBINVENTORY_NAME, FND_API.G_MISS_CHAR, RETURN_SUBINVENTORY_NAME, l_debrief_line.DEST_SUBINVENTORY_NAME),
1339               SHIPPING_METHOD = decode( l_debrief_line.SHIPPING_METHOD, FND_API.G_MISS_CHAR, SHIPPING_METHOD, l_debrief_line.SHIPPING_METHOD),
1340               SHIPPING_NUMBER = decode( l_debrief_line.SHIPMENT_NUMBER, FND_API.G_MISS_CHAR, SHIPPING_NUMBER, l_debrief_line.SHIPMENT_NUMBER),
1341               WAYBILL = decode( l_debrief_line.WAYBILL, FND_API.G_MISS_CHAR, WAYBILL, l_debrief_line.WAYBILL),
1342               CARRIER_CODE = decode( l_debrief_line.CARRIER_CODE, FND_API.G_MISS_CHAR, CARRIER_CODE, l_debrief_line.CARRIER_CODE),
1343               material_transaction_id = decode( l_debrief_line.material_transaction_id, fnd_api.g_miss_num, material_transaction_id, l_debrief_line.material_transaction_id),
1344 
1345               EXPENDITURE_ORG_ID = decode( l_debrief_line.EXPENDITURE_ORG_ID, fnd_api.g_miss_num, EXPENDITURE_ORG_ID, l_debrief_line.EXPENDITURE_ORG_ID ),
1346               PROJECT_ID = decode( l_debrief_line.PROJECT_ID, fnd_api.g_miss_num, PROJECT_ID, l_debrief_line.PROJECT_ID ),
1347               PROJECT_TASK_ID = decode( l_debrief_line.PROJECT_TASK_ID, fnd_api.g_miss_num, PROJECT_TASK_ID, l_debrief_line.PROJECT_TASK_ID )
1348 
1349     where DEBRIEF_LINE_ID = l_debrief_line.DEBRIEF_LINE_ID;
1350 
1351     If (SQL%NOTFOUND) then
1352         RAISE NO_DATA_FOUND;
1353     End If;
1354 
1355     end if;
1356 
1357     if l_dml_mode <> 'PRE' then
1358 
1359      IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_LINES_PKG',
1360                                       'Insert_Row',
1361                                       'A', 'C')  THEN
1362 
1363             csf_debrief_lines_cuhk.update_debrief_line_Post
1364                 ( px_debrief_line     => l_debrief_line,
1365                   x_return_status          => l_return_status,
1366                   x_msg_count              => l_msg_count,
1367                   x_msg_data               => l_msg_data
1368                 ) ;
1369     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1370       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Customer User Hook');
1371       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_CUST_USR_HK');
1372       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1373       FND_MSG_PUB.Add;
1374       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1375     END IF;
1376    END IF;
1377 
1378 
1379   -- Pre call to the Vertical Type User Hook
1380   --
1381   IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_LINES_PKG',
1382                                       'Insert_Row',
1383                                       'A', 'V')  THEN
1384     csf_debrief_lines_vuhk.update_debrief_line_post
1385                 ( px_debrief_line     => l_debrief_line,
1386                   x_return_status          => l_return_status,
1387                   x_msg_count              => l_msg_count,
1388                   x_msg_data               => l_msg_data
1389                 ) ;
1390 
1391     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1392       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
1393       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_VERT_USR_HK');
1394       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1395       FND_MSG_PUB.Add;
1396       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1397     END IF;
1398   END IF;
1399 
1400     csf_debrief_lines_iuhk.update_debrief_line_post
1401                 ( x_return_status          => l_return_status
1402                 ) ;
1403 
1404     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1405       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
1406       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_VERT_USR_HK');
1407       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1408       FND_MSG_PUB.Add;
1409       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1410     END IF;
1411 
1412     end if;
1413 
1414 END Update_Row;
1415 
1416 PROCEDURE Delete_Row(
1417     p_DEBRIEF_LINE_ID  NUMBER,
1418     p_DML_mode            VARCHAR2)
1419  IS
1420      l_debrief_line  CSF_DEBRIEF_PUB.DEBRIEF_LINE_Rec_Type;
1421    l_return_status    varchar2(100);
1422    l_msg_count        NUMBER;
1423    l_msg_data         varchar2(1000);
1424    l_api_name_full    varchar2(50) := 'CSF_DEBRIEF_LINES_PKG.DELETE_ROW';
1425    l_dml_mode		  varchar2(10) := p_DML_mode;
1426  BEGIN
1427     if l_dml_mode is null then
1428       l_dml_mode := 'BOTH';
1429     end if;
1430 
1431     if l_dml_mode <> 'POST' then
1432     IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_LINES_PKG',
1433                                       'Delete_Row',
1434                                       'B', 'C')  THEN
1435 
1436             csf_debrief_lines_cuhk.delete_debrief_line_Pre
1437                 ( p_line_id                => p_DEBRIEF_LINE_ID,
1438                   x_return_status          => l_return_status,
1439                   x_msg_count              => l_msg_count,
1440                   x_msg_data               => l_msg_data
1441                 ) ;
1442     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1443       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Customer User Hook');
1444       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_CUST_USR_HK');
1445       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1446       FND_MSG_PUB.Add;
1447       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1448     END IF;
1449    END IF;
1450 
1451 
1452   -- Pre call to the Vertical Type User Hook
1453   --
1454   IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_LINES_PKG',
1455                                       'Delete_Row',
1456                                       'B', 'V')  THEN
1457     csf_debrief_lines_vuhk.delete_debrief_line_Pre
1458                 ( p_line_id     => p_DEBRIEF_LINE_ID,
1459                   x_return_status          => l_return_status,
1460                   x_msg_count              => l_msg_count,
1461                   x_msg_data               => l_msg_data
1462                 ) ;
1463 
1464     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1465       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
1466       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_VERT_USR_HK');
1467       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1468       FND_MSG_PUB.Add;
1469       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1470     END IF;
1471   END IF;
1472       user_hooks_rec.DEBRIEF_LINE_ID := p_DEBRIEF_LINE_ID;
1473     csf_debrief_lines_iuhk.delete_debrief_line_Pre
1474                 ( x_return_status          => l_return_status
1475                 ) ;
1476 
1477     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1478       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
1479       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_PRE_INT_USR_HK');
1480       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1481       FND_MSG_PUB.Add;
1482       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1483     END IF;
1484 
1485     end if;
1486 
1487    if l_dml_mode = 'BOTH' then
1488 
1489    DELETE FROM CSF_DEBRIEF_LINES
1490     WHERE DEBRIEF_LINE_ID = p_DEBRIEF_LINE_ID;
1491    If (SQL%NOTFOUND) then
1492        RAISE NO_DATA_FOUND;
1493    End If;
1494    end if;
1495 
1496    if l_dml_mode <> 'PRE' then
1497 
1498    IF jtf_usr_hks.Ok_To_Execute('CSF_debrief_lineS_PKG',
1499                                       'Delete_Row',
1500                                       'A', 'C')  THEN
1501 
1502             csf_debrief_lines_cuhk.delete_debrief_line_post
1503                 ( p_line_id     => p_DEBRIEF_LINE_ID,
1504                   x_return_status          => l_return_status,
1505                   x_msg_count              => l_msg_count,
1506                   x_msg_data               => l_msg_data
1507                 ) ;
1508     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1509       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Customer User Hook');
1510       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_CUST_USR_HK');
1511       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1512       FND_MSG_PUB.Add;
1513       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1514     END IF;
1515    END IF;
1516 
1517 
1518   -- Pre call to the Vertical Type User Hook
1519   --
1520   IF jtf_usr_hks.Ok_To_Execute('CSF_DEBRIEF_LINES_PKG',
1521                                       'Insert_Row',
1522                                       'A', 'V')  THEN
1523     csf_debrief_lines_vuhk.delete_debrief_line_post
1524                 ( p_line_id                => p_DEBRIEF_LINE_ID,
1525                   x_return_status          => l_return_status,
1526                   x_msg_count              => l_msg_count,
1527                   x_msg_data               => l_msg_data
1528                 ) ;
1529 
1530     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1531       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
1532       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_VERT_USR_HK');
1533       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1534       FND_MSG_PUB.Add;
1535       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1536     END IF;
1537   END IF;
1538 
1539     csf_debrief_lines_iuhk.delete_debrief_line_post
1540                 ( x_return_status          => l_return_status
1541                 ) ;
1542 
1543     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1544       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
1545       FND_MESSAGE.Set_Name('CS', 'CSF_ERR_POST_INT_USR_HK');
1546       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1547       FND_MSG_PUB.Add;
1548       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1549     END IF;
1550     end if;
1551 
1552  END Delete_Row;
1553 
1554 PROCEDURE Lock_Row(
1555           p_DEBRIEF_LINE_ID    NUMBER,
1556           p_DEBRIEF_HEADER_ID    NUMBER,
1557           p_DEBRIEF_LINE_NUMBER    NUMBER,
1558           p_SERVICE_DATE    DATE,
1559           p_BUSINESS_PROCESS_ID    NUMBER,
1560           p_TXN_BILLING_TYPE_ID    NUMBER,
1561           p_INVENTORY_ITEM_ID    NUMBER,
1562           P_INSTANCE_ID          NUMBER,
1563           p_ISSUING_INVENTORY_ORG_ID    NUMBER,
1564           p_RECEIVING_INVENTORY_ORG_ID    NUMBER,
1565           p_ISSUING_SUB_INVENTORY_CODE    VARCHAR2,
1566           p_RECEIVING_SUB_INVENTORY_CODE    VARCHAR2,
1567           p_ISSUING_LOCATOR_ID    NUMBER,
1568           p_RECEIVING_LOCATOR_ID    NUMBER,
1569           p_PARENT_PRODUCT_ID    NUMBER,
1570           p_REMOVED_PRODUCT_ID    NUMBER,
1571           p_STATUS_OF_RECEIVED_PART    VARCHAR2,
1572           p_ITEM_SERIAL_NUMBER    VARCHAR2,
1573           p_ITEM_REVISION    VARCHAR2,
1574           p_ITEM_LOTNUMBER    VARCHAR2,
1575           p_UOM_CODE    VARCHAR2,
1576           p_QUANTITY    NUMBER,
1577           p_RMA_HEADER_ID    NUMBER,
1578           p_DISPOSITION_CODE    VARCHAR2,
1579           p_MATERIAL_REASON_CODE    VARCHAR2,
1580           p_LABOR_REASON_CODE    VARCHAR2,
1581           p_EXPENSE_REASON_CODE    VARCHAR2,
1582           p_LABOR_START_DATE    DATE,
1583           p_LABOR_END_DATE    DATE,
1584           p_STARTING_MILEAGE    NUMBER,
1585           p_ENDING_MILEAGE    NUMBER,
1586           p_EXPENSE_AMOUNT    NUMBER,
1587           p_CURRENCY_CODE    VARCHAR2,
1588           p_DEBRIEF_LINE_STATUS_ID    NUMBER,
1589           P_RETURN_REASON_CODE  VARCHAR2,
1590           p_CHANNEL_CODE    VARCHAR2,
1591           p_CHARGE_UPLOAD_STATUS    VARCHAR2,
1592           p_CHARGE_UPLOAD_MSG_CODE    VARCHAR2,
1593           p_CHARGE_UPLOAD_MESSAGE    VARCHAR2,
1594           p_IB_UPDATE_STATUS    VARCHAR2,
1595           p_IB_UPDATE_MSG_CODE    VARCHAR2,
1596           p_IB_UPDATE_MESSAGE    VARCHAR2,
1597           p_SPARE_UPDATE_STATUS    VARCHAR2,
1598           p_SPARE_UPDATE_MSG_CODE    VARCHAR2,
1599           p_SPARE_UPDATE_MESSAGE    VARCHAR2,
1600           p_CREATED_BY    NUMBER,
1601           p_CREATION_DATE    DATE,
1602           p_LAST_UPDATED_BY    NUMBER,
1603           p_LAST_UPDATE_DATE    DATE,
1604           p_LAST_UPDATE_LOGIN    NUMBER,
1605           p_ATTRIBUTE1    VARCHAR2,
1606           p_ATTRIBUTE2    VARCHAR2,
1607           p_ATTRIBUTE3    VARCHAR2,
1608           p_ATTRIBUTE4    VARCHAR2,
1609           p_ATTRIBUTE5    VARCHAR2,
1610           p_ATTRIBUTE6    VARCHAR2,
1611           p_ATTRIBUTE7    VARCHAR2,
1612           p_ATTRIBUTE8    VARCHAR2,
1613           p_ATTRIBUTE9    VARCHAR2,
1614           p_ATTRIBUTE10    VARCHAR2,
1615           p_ATTRIBUTE11    VARCHAR2,
1616           p_ATTRIBUTE12    VARCHAR2,
1617           p_ATTRIBUTE13    VARCHAR2,
1618           p_ATTRIBUTE14    VARCHAR2,
1619           p_ATTRIBUTE15    VARCHAR2,
1620           p_ATTRIBUTE_CATEGORY    VARCHAR2,
1621           P_TRANSACTION_TYPE_ID  NUMBER,
1622           P_RETURN_DATE     DATE
1623         )
1624  IS
1625    CURSOR C IS
1626         SELECT *
1627          FROM CSF_DEBRIEF_LINES
1628         WHERE DEBRIEF_LINE_ID =  p_DEBRIEF_LINE_ID
1629         FOR UPDATE of DEBRIEF_LINE_ID NOWAIT;
1630    Recinfo C%ROWTYPE;
1631  BEGIN
1632     OPEN C;
1633     FETCH C INTO Recinfo;
1634     If (C%NOTFOUND) then
1635         CLOSE C;
1636         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
1637         APP_EXCEPTION.RAISE_EXCEPTION;
1638     End If;
1639     CLOSE C;
1640     if (
1641            (      Recinfo.DEBRIEF_LINE_ID = p_DEBRIEF_LINE_ID)
1642        AND (    ( Recinfo.DEBRIEF_HEADER_ID = p_DEBRIEF_HEADER_ID)
1643             OR (    ( Recinfo.DEBRIEF_HEADER_ID IS NULL )
1644                 AND (  p_DEBRIEF_HEADER_ID IS NULL )))
1645        AND (    ( Recinfo.DEBRIEF_LINE_NUMBER = p_DEBRIEF_LINE_NUMBER)
1646             OR (    ( Recinfo.DEBRIEF_LINE_NUMBER IS NULL )
1647                 AND (  p_DEBRIEF_LINE_NUMBER IS NULL )))
1648        AND (    ( Recinfo.SERVICE_DATE = p_SERVICE_DATE)
1649             OR (    ( Recinfo.SERVICE_DATE IS NULL )
1650                 AND (  p_SERVICE_DATE IS NULL )))
1651        AND (    ( Recinfo.BUSINESS_PROCESS_ID = p_BUSINESS_PROCESS_ID)
1652             OR (    ( Recinfo.BUSINESS_PROCESS_ID IS NULL )
1653                 AND (  p_BUSINESS_PROCESS_ID IS NULL )))
1654        AND (    ( Recinfo.TXN_BILLING_TYPE_ID = p_TXN_BILLING_TYPE_ID)
1655             OR (    ( Recinfo.TXN_BILLING_TYPE_ID IS NULL )
1656                 AND (  p_TXN_BILLING_TYPE_ID IS NULL )))
1657        AND (    ( Recinfo.INVENTORY_ITEM_ID = p_INVENTORY_ITEM_ID)
1658             OR (    ( Recinfo.INVENTORY_ITEM_ID IS NULL )
1659                 AND (  p_INVENTORY_ITEM_ID IS NULL )))
1660        AND (    ( Recinfo.INSTANCE_ID = p_INSTANCE_ID)
1661             OR (    ( Recinfo.INSTANCE_ID IS NULL )
1662                 AND (  p_INSTANCE_ID IS NULL )))
1663        AND (    ( Recinfo.ISSUING_INVENTORY_ORG_ID = p_ISSUING_INVENTORY_ORG_ID)
1664             OR (    ( Recinfo.ISSUING_INVENTORY_ORG_ID IS NULL )
1665                 AND (  p_ISSUING_INVENTORY_ORG_ID IS NULL )))
1666        AND (    ( Recinfo.RECEIVING_INVENTORY_ORG_ID = p_RECEIVING_INVENTORY_ORG_ID)
1667             OR (    ( Recinfo.RECEIVING_INVENTORY_ORG_ID IS NULL )
1668                 AND (  p_RECEIVING_INVENTORY_ORG_ID IS NULL )))
1669        AND (    ( Recinfo.ISSUING_SUB_INVENTORY_CODE = p_ISSUING_SUB_INVENTORY_CODE)
1670             OR (    ( Recinfo.ISSUING_SUB_INVENTORY_CODE IS NULL )
1671                 AND (  p_ISSUING_SUB_INVENTORY_CODE IS NULL )))
1672        AND (    ( Recinfo.RECEIVING_SUB_INVENTORY_CODE = p_RECEIVING_SUB_INVENTORY_CODE)
1673             OR (    ( Recinfo.RECEIVING_SUB_INVENTORY_CODE IS NULL )
1674                 AND (  p_RECEIVING_SUB_INVENTORY_CODE IS NULL )))
1675        AND (    ( Recinfo.ISSUING_LOCATOR_ID = p_ISSUING_LOCATOR_ID)
1676             OR (    ( Recinfo.ISSUING_LOCATOR_ID IS NULL )
1677                 AND (  p_ISSUING_LOCATOR_ID IS NULL )))
1678        AND (    ( Recinfo.RECEIVING_LOCATOR_ID = p_RECEIVING_LOCATOR_ID)
1679             OR (    ( Recinfo.RECEIVING_LOCATOR_ID IS NULL )
1680                 AND (  p_RECEIVING_LOCATOR_ID IS NULL )))
1681        AND (    ( Recinfo.PARENT_PRODUCT_ID = p_PARENT_PRODUCT_ID)
1682             OR (    ( Recinfo.PARENT_PRODUCT_ID IS NULL )
1683                 AND (  p_PARENT_PRODUCT_ID IS NULL )))
1684        AND (    ( Recinfo.REMOVED_PRODUCT_ID = p_REMOVED_PRODUCT_ID)
1685             OR (    ( Recinfo.REMOVED_PRODUCT_ID IS NULL )
1686                 AND (  p_REMOVED_PRODUCT_ID IS NULL )))
1687        AND (    ( Recinfo.STATUS_OF_RECEIVED_PART = p_STATUS_OF_RECEIVED_PART)
1688             OR (    ( Recinfo.STATUS_OF_RECEIVED_PART IS NULL )
1689                 AND (  p_STATUS_OF_RECEIVED_PART IS NULL )))
1690        AND (    ( Recinfo.ITEM_SERIAL_NUMBER = p_ITEM_SERIAL_NUMBER)
1691             OR (    ( Recinfo.ITEM_SERIAL_NUMBER IS NULL )
1692                 AND (  p_ITEM_SERIAL_NUMBER IS NULL )))
1693        AND (    ( Recinfo.ITEM_REVISION = p_ITEM_REVISION)
1694             OR (    ( Recinfo.ITEM_REVISION IS NULL )
1695                 AND (  p_ITEM_REVISION IS NULL )))
1696        AND (    ( Recinfo.ITEM_LOTNUMBER = p_ITEM_LOTNUMBER)
1697             OR (    ( Recinfo.ITEM_LOTNUMBER IS NULL )
1698                 AND (  p_ITEM_LOTNUMBER IS NULL )))
1699        AND (    ( Recinfo.UOM_CODE = p_UOM_CODE)
1700             OR (    ( Recinfo.UOM_CODE IS NULL )
1701                 AND (  p_UOM_CODE IS NULL )))
1702        AND (    ( Recinfo.QUANTITY = p_QUANTITY)
1703             OR (    ( Recinfo.QUANTITY IS NULL )
1704                 AND (  p_QUANTITY IS NULL )))
1705        AND (    ( Recinfo.RMA_HEADER_ID = p_RMA_HEADER_ID)
1706             OR (    ( Recinfo.RMA_HEADER_ID IS NULL )
1707                 AND (  p_RMA_HEADER_ID IS NULL )))
1708        AND (    ( Recinfo.DISPOSITION_CODE = p_DISPOSITION_CODE)
1709             OR (    ( Recinfo.DISPOSITION_CODE IS NULL )
1710                 AND (  p_DISPOSITION_CODE IS NULL )))
1711        AND (    ( Recinfo.MATERIAL_REASON_CODE = p_MATERIAL_REASON_CODE)
1712             OR (    ( Recinfo.MATERIAL_REASON_CODE IS NULL )
1713                 AND (  p_MATERIAL_REASON_CODE IS NULL )))
1714        AND (    ( Recinfo.LABOR_REASON_CODE = p_LABOR_REASON_CODE)
1715             OR (    ( Recinfo.LABOR_REASON_CODE IS NULL )
1716                 AND (  p_LABOR_REASON_CODE IS NULL )))
1717        AND (    ( Recinfo.EXPENSE_REASON_CODE = p_EXPENSE_REASON_CODE)
1718             OR (    ( Recinfo.EXPENSE_REASON_CODE IS NULL )
1719                 AND (  p_EXPENSE_REASON_CODE IS NULL )))
1720        AND (    ( Recinfo.LABOR_START_DATE = p_LABOR_START_DATE)
1721             OR (    ( Recinfo.LABOR_START_DATE IS NULL )
1722                 AND (  p_LABOR_START_DATE IS NULL )))
1723        AND (    ( Recinfo.LABOR_END_DATE = p_LABOR_END_DATE)
1724             OR (    ( Recinfo.LABOR_END_DATE IS NULL )
1725                 AND (  p_LABOR_END_DATE IS NULL )))
1726        AND (    ( Recinfo.STARTING_MILEAGE = p_STARTING_MILEAGE)
1727             OR (    ( Recinfo.STARTING_MILEAGE IS NULL )
1728                 AND (  p_STARTING_MILEAGE IS NULL )))
1729        AND (    ( Recinfo.ENDING_MILEAGE = p_ENDING_MILEAGE)
1730             OR (    ( Recinfo.ENDING_MILEAGE IS NULL )
1731                 AND (  p_ENDING_MILEAGE IS NULL )))
1732        AND (    ( Recinfo.EXPENSE_AMOUNT = p_EXPENSE_AMOUNT)
1733             OR (    ( Recinfo.EXPENSE_AMOUNT IS NULL )
1734                 AND (  p_EXPENSE_AMOUNT IS NULL )))
1735        AND (    ( Recinfo.CURRENCY_CODE = p_CURRENCY_CODE)
1736             OR (    ( Recinfo.CURRENCY_CODE IS NULL )
1737                 AND (  p_CURRENCY_CODE IS NULL )))
1738        AND (    ( Recinfo.DEBRIEF_LINE_STATUS_ID = p_DEBRIEF_LINE_STATUS_ID)
1739             OR (    ( Recinfo.DEBRIEF_LINE_STATUS_ID IS NULL )
1740                 AND (  p_DEBRIEF_LINE_STATUS_ID IS NULL )))
1741        AND (    ( Recinfo.RETURN_REASON_CODE = p_RETURN_REASON_CODE)
1742             OR (    ( Recinfo.RETURN_REASON_CODE IS NULL )
1743                 AND (  p_RETURN_REASON_CODE IS NULL )))
1744        AND (    ( Recinfo.CHANNEL_CODE = p_CHANNEL_CODE)
1745             OR (    ( Recinfo.CHANNEL_CODE IS NULL )
1746                 AND (  p_CHANNEL_CODE IS NULL )))
1747        AND (    ( Recinfo.CHARGE_UPLOAD_STATUS = p_CHARGE_UPLOAD_STATUS)
1748             OR (    ( Recinfo.CHARGE_UPLOAD_STATUS IS NULL )
1749                 AND (  p_CHARGE_UPLOAD_STATUS IS NULL )))
1750        AND (    ( Recinfo.CHARGE_UPLOAD_MSG_CODE = p_CHARGE_UPLOAD_MSG_CODE)
1751             OR (    ( Recinfo.CHARGE_UPLOAD_MSG_CODE IS NULL )
1752                 AND (  p_CHARGE_UPLOAD_MSG_CODE IS NULL )))
1753        AND (    ( Recinfo.CHARGE_UPLOAD_MESSAGE = p_CHARGE_UPLOAD_MESSAGE)
1754             OR (    ( Recinfo.CHARGE_UPLOAD_MESSAGE IS NULL )
1755                 AND (  p_CHARGE_UPLOAD_MESSAGE IS NULL )))
1756        AND (    ( Recinfo.IB_UPDATE_STATUS = p_IB_UPDATE_STATUS)
1757             OR (    ( Recinfo.IB_UPDATE_STATUS IS NULL )
1758                 AND (  p_IB_UPDATE_STATUS IS NULL )))
1759        AND (    ( Recinfo.IB_UPDATE_MSG_CODE = p_IB_UPDATE_MSG_CODE)
1760             OR (    ( Recinfo.IB_UPDATE_MSG_CODE IS NULL )
1761                 AND (  p_IB_UPDATE_MSG_CODE IS NULL )))
1762        AND (    ( Recinfo.IB_UPDATE_MESSAGE = p_IB_UPDATE_MESSAGE)
1763             OR (    ( Recinfo.IB_UPDATE_MESSAGE IS NULL )
1764                 AND (  p_IB_UPDATE_MESSAGE IS NULL )))
1765        AND (    ( Recinfo.SPARE_UPDATE_STATUS = p_SPARE_UPDATE_STATUS)
1766             OR (    ( Recinfo.SPARE_UPDATE_STATUS IS NULL )
1767                 AND (  p_SPARE_UPDATE_STATUS IS NULL )))
1768        AND (    ( Recinfo.SPARE_UPDATE_MSG_CODE = p_SPARE_UPDATE_MSG_CODE)
1769             OR (    ( Recinfo.SPARE_UPDATE_MSG_CODE IS NULL )
1770                 AND (  p_SPARE_UPDATE_MSG_CODE IS NULL )))
1771        AND (    ( Recinfo.SPARE_UPDATE_MESSAGE = p_SPARE_UPDATE_MESSAGE)
1772             OR (    ( Recinfo.SPARE_UPDATE_MESSAGE IS NULL )
1773                 AND (  p_SPARE_UPDATE_MESSAGE IS NULL )))
1774        AND (    ( Recinfo.CREATED_BY = p_CREATED_BY)
1775             OR (    ( Recinfo.CREATED_BY IS NULL )
1776                 AND (  p_CREATED_BY IS NULL )))
1777        AND (    ( Recinfo.CREATION_DATE = p_CREATION_DATE)
1778             OR (    ( Recinfo.CREATION_DATE IS NULL )
1779                 AND (  p_CREATION_DATE IS NULL )))
1780        AND (    ( Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
1781             OR (    ( Recinfo.LAST_UPDATED_BY IS NULL )
1782                 AND (  p_LAST_UPDATED_BY IS NULL )))
1783        AND (    ( Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
1784             OR (    ( Recinfo.LAST_UPDATE_DATE IS NULL )
1785                 AND (  p_LAST_UPDATE_DATE IS NULL )))
1786        AND (    ( Recinfo.LAST_UPDATE_LOGIN = p_LAST_UPDATE_LOGIN)
1787             OR (    ( Recinfo.LAST_UPDATE_LOGIN IS NULL )
1788                 AND (  p_LAST_UPDATE_LOGIN IS NULL )))
1789        AND (    ( Recinfo.ATTRIBUTE1 = p_ATTRIBUTE1)
1790             OR (    ( Recinfo.ATTRIBUTE1 IS NULL )
1791                 AND (  p_ATTRIBUTE1 IS NULL )))
1792        AND (    ( Recinfo.ATTRIBUTE2 = p_ATTRIBUTE2)
1793             OR (    ( Recinfo.ATTRIBUTE2 IS NULL )
1794                 AND (  p_ATTRIBUTE2 IS NULL )))
1795        AND (    ( Recinfo.ATTRIBUTE3 = p_ATTRIBUTE3)
1796             OR (    ( Recinfo.ATTRIBUTE3 IS NULL )
1797                 AND (  p_ATTRIBUTE3 IS NULL )))
1798        AND (    ( Recinfo.ATTRIBUTE4 = p_ATTRIBUTE4)
1799             OR (    ( Recinfo.ATTRIBUTE4 IS NULL )
1800                 AND (  p_ATTRIBUTE4 IS NULL )))
1801        AND (    ( Recinfo.ATTRIBUTE5 = p_ATTRIBUTE5)
1802             OR (    ( Recinfo.ATTRIBUTE5 IS NULL )
1803                 AND (  p_ATTRIBUTE5 IS NULL )))
1804        AND (    ( Recinfo.ATTRIBUTE6 = p_ATTRIBUTE6)
1805             OR (    ( Recinfo.ATTRIBUTE6 IS NULL )
1806                 AND (  p_ATTRIBUTE6 IS NULL )))
1807        AND (    ( Recinfo.ATTRIBUTE7 = p_ATTRIBUTE7)
1808             OR (    ( Recinfo.ATTRIBUTE7 IS NULL )
1809                 AND (  p_ATTRIBUTE7 IS NULL )))
1810        AND (    ( Recinfo.ATTRIBUTE8 = p_ATTRIBUTE8)
1811             OR (    ( Recinfo.ATTRIBUTE8 IS NULL )
1812                 AND (  p_ATTRIBUTE8 IS NULL )))
1813        AND (    ( Recinfo.ATTRIBUTE9 = p_ATTRIBUTE9)
1814             OR (    ( Recinfo.ATTRIBUTE9 IS NULL )
1815                 AND (  p_ATTRIBUTE9 IS NULL )))
1816        AND (    ( Recinfo.ATTRIBUTE10 = p_ATTRIBUTE10)
1817             OR (    ( Recinfo.ATTRIBUTE10 IS NULL )
1818                 AND (  p_ATTRIBUTE10 IS NULL )))
1819        AND (    ( Recinfo.ATTRIBUTE11 = p_ATTRIBUTE11)
1820             OR (    ( Recinfo.ATTRIBUTE11 IS NULL )
1821                 AND (  p_ATTRIBUTE11 IS NULL )))
1822        AND (    ( Recinfo.ATTRIBUTE12 = p_ATTRIBUTE12)
1823             OR (    ( Recinfo.ATTRIBUTE12 IS NULL )
1824                 AND (  p_ATTRIBUTE12 IS NULL )))
1825        AND (    ( Recinfo.ATTRIBUTE13 = p_ATTRIBUTE13)
1826             OR (    ( Recinfo.ATTRIBUTE13 IS NULL )
1827                 AND (  p_ATTRIBUTE13 IS NULL )))
1828        AND (    ( Recinfo.ATTRIBUTE14 = p_ATTRIBUTE14)
1829             OR (    ( Recinfo.ATTRIBUTE14 IS NULL )
1830                 AND (  p_ATTRIBUTE14 IS NULL )))
1831        AND (    ( Recinfo.ATTRIBUTE15 = p_ATTRIBUTE15)
1832             OR (    ( Recinfo.ATTRIBUTE15 IS NULL )
1833                 AND (  p_ATTRIBUTE15 IS NULL )))
1834        AND (    ( Recinfo.ATTRIBUTE_CATEGORY = p_ATTRIBUTE_CATEGORY)
1835             OR (    ( Recinfo.ATTRIBUTE_CATEGORY IS NULL )
1836                 AND (  p_ATTRIBUTE_CATEGORY IS NULL )))
1837        AND (    ( Recinfo.TRANSACTION_TYPE_ID = p_TRANSACTION_TYPE_ID)
1838             OR (    ( Recinfo.TRANSACTION_TYPE_ID IS NULL )
1839                 AND (  p_TRANSACTION_TYPE_ID IS NULL )))
1840        AND (    ( Recinfo.RETURN_DATE = p_RETURN_DATE)
1841             OR (    ( Recinfo.RETURN_DATE IS NULL )
1842                 AND (  p_RETURN_DATE IS NULL )))
1843        ) then
1844        return;
1845    else
1846        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
1847        APP_EXCEPTION.RAISE_EXCEPTION;
1848    End If;
1849 END Lock_Row;
1850 
1851 FUNCTION GET_RESOURCE_NAME(
1852     p_resource_id   number,
1853     p_resource_type varchar2)
1854     RETURN varchar2 is
1855 
1856     cursor resource_name is
1857     select resource_name from jtf_rs_all_resources_vl
1858     where  resource_id = p_resource_id
1859     and    resource_type = p_resource_type;
1860 
1861     l_resource_name varchar2(200);
1862 
1863     begin
1864       open resource_name;
1865       fetch resource_name into l_resource_name;
1866       close resource_name;
1867       return l_resource_name;
1868     end;
1869 
1870 End CSF_DEBRIEF_LINES_PKG;
1871