DBA Data[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