DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSF_DEBRIEF_CHARGES

Source


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