[Home] [Help]
PACKAGE BODY: APPS.CSF_DEBRIEF_CHARGES
Source
1 PACKAGE body CSF_DEBRIEF_CHARGES as
2 /* $Header: csfdbchb.pls 120.0.12000000.5 2007/07/25 23:47:53 hhaugeru ship $ */
3 -- Start of Comments
4 -- Package name : CSF_DEBRIEF_CHARGES
5 -- Purpose : Wrapper for Charges
6 -- History :
7 -- NOTE :
8 -- End of Comments
9 -- Default number of records fetch per call
10
11
12 PROCEDURE CREATE_CHARGES (
13 P_ORIGINAL_SOURCE_ID IN NUMBER,
14 P_ORIGINAL_SOURCE_CODE IN VARCHAR2,
15 P_INCIDENT_ID IN NUMBER,
16 P_BUSINESS_PROCESS_ID IN NUMBER,
17 P_LINE_CATEGORY_CODE IN VARCHAR2,
18 P_SOURCE_CODE IN VARCHAR2,
19 P_SOURCE_ID IN NUMBER,
20 P_INVENTORY_ITEM_ID IN NUMBER DEFAULT FND_API.G_MISS_NUM,
21 P_ITEM_REVISION IN VARCHAR2 DEFAULT FND_API.G_MISS_CHAR,
22 P_UNIT_OF_MEASURE_CODE IN VARCHAR2 DEFAULT FND_API.G_MISS_CHAR,
23 P_QUANTITY IN NUMBER DEFAULT FND_API.G_MISS_NUM,
24 P_TXN_BILLING_TYPE_ID IN NUMBER DEFAULT FND_API.G_MISS_NUM,
25 P_TRANSACTION_TYPE_ID IN NUMBER DEFAULT FND_API.G_MISS_NUM,
26 P_CUSTOMER_PRODUCT_ID IN NUMBER DEFAULT FND_API.G_MISS_NUM,
27 P_INSTALLED_CP_RETURN_BY_DATE IN DATE DEFAULT FND_API.G_MISS_DATE,
28 P_AFTER_WARRANTY_COST IN NUMBER DEFAULT FND_API.G_MISS_NUM,
29 P_CURRENCY_CODE IN VARCHAR2 DEFAULT FND_API.G_MISS_CHAR,
30 P_RETURN_REASON_CODE IN VARCHAR2 DEFAULT FND_API.G_MISS_CHAR,
31 P_INVENTORY_ORG_ID IN VARCHAR2 DEFAULT FND_API.G_MISS_NUM,
32 P_SUBINVENTORY IN VARCHAR2 DEFAULT FND_API.G_MISS_CHAR,
33 P_SERIAL_NUMBER IN VARCHAR2 DEFAULT FND_API.G_MISS_CHAR,
34 P_FINAL_CHARGE_FLAG IN VARCHAR2,
35 P_LABOR_START_DATE IN DATE DEFAULT FND_API.G_MISS_DATE,
36 P_LABOR_END_DATE IN DATE DEFAULT FND_API.G_MISS_DATE,
37 X_Return_Status OUT NOCOPY VARCHAR2,
38 X_Msg_Count OUT NOCOPY NUMBER,
39 X_Msg_Data OUT NOCOPY VARCHAR2
40 ) as
41
42 l_Charges_Rec Cs_service_billing_engine_pvt.SBE_Rec_Type;
43
44 l_object_version_number NUMBER;
45 l_estimate_detail_id NUMBER;
46 l_line_number NUMBER;
47 l_price_list_id number := null;
48
49 cursor c_price_list is
50 select price_list_header_id
51 from csd_repairs
52 where repair_line_id = p_original_source_id;
53
54 begin
55 if p_original_source_code = 'DR' then
56 open c_price_list;
57 fetch c_price_list into l_price_list_id;
58 close c_price_list;
59 l_charges_rec.price_list_id := l_price_list_id;
60 end if;
61
62 l_Charges_Rec.original_source_id := p_original_source_id ;
63 l_Charges_Rec.original_source_code := p_original_source_code ;
64 l_Charges_Rec.incident_id := p_incident_id ;
65 l_Charges_Rec.business_process_id := p_business_process_id ;
66 l_Charges_Rec.line_category_code := p_line_category_code ;
67 l_Charges_Rec.source_code := p_source_code;
68 l_Charges_Rec.source_id := p_source_id;
69 l_Charges_Rec.inventory_item_id := p_inventory_item_id;
70 l_Charges_Rec.item_revision := p_item_revision;
71 l_charges_rec.unit_of_measure_code := p_unit_of_measure_code;
72 l_charges_rec.quantity := p_quantity;
73 l_charges_rec.txn_billing_type_id := p_txn_billing_type_id;
74 l_charges_rec.transaction_type_id := p_transaction_type_id;
75 l_charges_rec.customer_product_id := p_customer_product_id;
76 l_charges_rec.installed_cp_return_by_date := p_installed_cp_return_by_date;
77 l_charges_rec.after_warranty_cost := p_after_warranty_cost;
78 l_charges_rec.currency_code := p_currency_code;
79 l_charges_rec.return_reason_code := p_return_reason_code;
80 l_charges_rec.serial_number := p_serial_number;
81 l_charges_rec.transaction_inventory_org_id := null;
82 l_charges_rec.transaction_sub_inventory := null;
83 l_charges_rec.labor_start_date_time := p_labor_start_date;
84 l_charges_rec.labor_end_date_time := p_labor_end_date;
85
86 Cs_service_billing_engine_pvt.Create_Charges(
87 P_Api_Version_Number =>1.0,
88 P_Init_Msg_List =>FND_API.G_FALSE,
89 P_Commit =>FND_API.G_FALSE,
90 p_sbe_record =>l_charges_rec,
91 p_final_charge_flag =>p_final_charge_flag,
92 x_return_status =>x_return_status,
93 x_msg_count =>x_msg_count,
94 x_msg_data =>x_msg_data
95 );
96
97
98 end CREATE_CHARGES;
99
100
101 PROCEDURE UPDATE_LAB_RS_LOC(
102 p_debrief_header_id IN NUMBER,
103 p_debrief_line_id IN NUMBER,
104 p_labor_start_date IN DATE,
105 X_RETURN_STATUS OUT NOCOPY varchar2,
106 X_MSG_COUNT OUT NOCOPY number,
107 X_MSG_DATA OUT NOCOPY VARCHAR2) as
108 z_resource_id number;
109 z_location mdsys.sdo_geometry;
110 z_object_version_number NUMBER;
111 z_start_date date;
112 Begin
113
114 -- Calling the Update Resource Location API to Update Resource's Location
115
116
117
118 select jta.resource_id,
119 loc.geometry
120 into z_resource_id,
121 z_location
122 from csf_debrief_lines cdl,
123 csf_debrief_headers csf,
124 cs_transaction_types_vl ctt,
125 cs_txn_billing_types ctbt,
126 jtf_task_assignments jta,
127 jtf_tasks_b jtb,
128 hz_party_sites p,
129 hz_locations loc
130 where csf.debrief_header_id = p_debrief_header_id
131 and debrief_line_id = p_debrief_line_id
132 and jta.task_id = jtb.task_id
133 and jta.task_assignment_id = csf.task_assignment_id
134 and jtb.address_id = p.party_site_id
135 and p.location_id = loc.location_id
136 and csf.debrief_header_id = cdl.debrief_header_id
137 and ctt.transaction_type_id = ctbt.transaction_type_id
138 and cdl.txn_Billing_Type_Id = ctbt.txn_billing_type_id
139 and ctbt.billing_type = 'L';
140
141
142 select max(actual_start_date)
143 into z_start_date
144 from jtf_task_assignments
145 where resource_id = z_resource_id;
146
147 IF p_labor_start_date > z_start_date then
148
149 select object_version_number
150 into z_object_version_number
151 from jtf_rs_resource_extns
152 where resource_id = z_resource_id;
153
154 /*
155 -- jtf has removed the p_location column, and suggest
156 -- to update the location directly
157 jtf_rs_resource_pub.update_resource
158 (P_API_VERSION => 1,
159 -- P_INIT_MSG_LIST => fnd_api.g_false,
160 -- P_COMMIT => fnd_api.g_false,
161 P_RESOURCE_ID => z_resource_id,
162 P_RESOURCE_NUMBER => null,
163 P_LOCATION => z_location,
164 P_object_version_num => z_object_version_number,
165 X_RETURN_STATUS => x_return_status,
166 X_MSG_COUNT => x_msg_count,
167 X_MSG_DATA => x_msg_data);
168
169 */
170 END IF;
171
172 EXCEPTION WHEN NO_DATA_FOUND THEN NULL;
173
174 END ;
175
176 PROCEDURE UPDATE_CHARGES (
177 SOURCE_CODE IN VARCHAR2,
178 SOURCE_ID IN NUMBER,
179 INVENTORY_ITEM_ID IN NUMBER ,
180 UNIT_OF_MEASURE_CODE IN VARCHAR2 ,
181 QUANTITY_REQUIRED IN NUMBER ,
182 TXN_BILLING_TYPE IN NUMBER ,
183 OUT_X_Return_Status OUT NOCOPY VARCHAR2,
184 OUT_X_Msg_Count OUT NOCOPY NUMBER,
185 OUT_X_Msg_Data OUT NOCOPY VARCHAR2
186 ) AS
187
188 Cursor c_estimate_detail(p_source_id NUMBER,p_source_code Varchar2) IS
189 select estimate_detail_id
190 FROM cs_estimate_details
191 WHERE source_id = p_source_id
192 AND source_code = p_source_code;
193
194 l_Charges_Rec CS_Charge_Details_PUB.Charges_Rec_Type;
195 l_object_version_number NUMBER;
196 l_estimate_detail_id NUMBER;
197
198 BEGIN
199 Open c_estimate_detail(source_id,source_code);
200 Fetch c_estimate_detail INTO l_estimate_detail_id;
201 Close c_estimate_detail;
202 l_Charges_Rec.estimate_detail_id := l_estimate_detail_id;
203 l_Charges_Rec.source_code := source_code;
204 l_Charges_Rec.source_id := source_id;
205 l_Charges_Rec.inventory_item_id_in := inventory_item_id;
206 l_charges_rec.unit_of_measure_code := unit_of_measure_code;
207 l_charges_rec.quantity_required := quantity_required;
208 l_charges_rec.txn_billing_type_id := txn_billing_type;
209
210 Cs_Charge_Details_Pub.Update_Charge_Details (
211 p_API_VERSION => 1.0,
212 p_INIT_MSG_LIST => FND_API.G_TRUE,
213 p_COMMIT => FND_API.G_FALSE,
214 p_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
215 X_Return_Status => OUT_X_Return_status,
216 X_Msg_Count => OUT_X_Msg_Count,
217 X_Object_Version_Number => l_object_version_number,
218 X_MSG_DATA => OUT_X_MSG_DATA,
219 p_resp_appl_id => NULL,
220 p_resp_id => NULL,
221 p_user_id => NULL,
222 p_login_id => NULL,
223 p_transaction_control => FND_API.G_TRUE,
224 p_charges_rec => l_charges_rec);
225 END UPDATE_CHARGES;
226
227 PROCEDURE DELETE_CHARGES (SOURCE_ID IN NUMBER,
228 SOURCE_CODE IN VARCHAR2,
229 OUT_X_Return_status OUT NOCOPY VARCHAR2,
230 OUT_X_Msg_Count OUT NOCOPY NUMBER,
231 OUT_X_MSG_DATA OUT NOCOPY VARCHAR2 ) IS
232
233 Cursor c_estimate_detail(p_source_id NUMBER,p_source_code Varchar2) IS
234 select estimate_detail_id
235 FROM cs_estimate_details
236 WHERE source_id = p_source_id
237 AND source_code = p_source_code;
238
239 l_estimate_detail_id NUMBER;
240 BEGIN
241 Open c_estimate_detail(source_id,source_code);
242 Fetch c_estimate_detail INTO l_estimate_detail_id;
243 Close c_estimate_detail;
244
245 Cs_Charge_Details_pub.Delete_Charge_Details (
246 p_API_VERSION => 1.0,
247 p_INIT_MSG_LIST => FND_API.G_TRUE,
248 p_COMMIT => FND_API.G_FALSE,
249 p_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
250 X_Return_Status => OUT_X_Return_status,
251 X_Msg_Count => OUT_X_Msg_Count,
252 X_MSG_DATA => OUT_X_MSG_DATA,
253 p_TRANSACTION_CONTROL => FND_API.G_TRUE,
254 p_ESTIMATE_DETAIL_ID => l_Estimate_Detail_ID);
255 END DELETE_CHARGES;
256
257 end CSF_DEBRIEF_CHARGES;
258
259
260