[Home] [Help]
PACKAGE BODY: APPS.CS_SERVICEREQUEST_PUB
Source
1 PACKAGE BODY CS_ServiceRequest_PUB AS
2 /* $Header: cspsrb.pls 120.21.12020000.4 2013/02/08 06:55:50 lkullamb ship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'CS_ServiceRequest_PUB';
5 G_INITIALIZED CONSTANT VARCHAR2(1) := 'R';
6 G_SR_SUBTYPE CONSTANT VARCHAR2(5) := 'INC';
7
8 /* ************************************************************************* *
9 * Forward Declaration of Local Procedures *
10 * The following local procedures are called by the APIs in this package. *
11 * ************************************************************************* */
12
13 --------------------------------------------------------------------------
14 -- Type Request_Conversion_Rec_Type record
15 -- Description:
16 -- The Request_Conversion_Rec_Type record holds both Service Request
17 -- attribute values and IDs.
18 -- Notes:
19 -- Ideally, this record should be paired up with the Request_Rec_Type
20 -- (which only holds Service Request attribute IDs). But since it is not
21 -- passed from the caller but instead setup from within the Public API,
22 -- it doesn't make sense for it to include all the other fields that are
23 -- not value-ID based. So instead it only contains value-ID based
24 -- attributes to be passed to the conversion routine.
25 --------------------------------------------------------------------------
26
27 TYPE Request_Conversion_Rec_Type IS RECORD
28 ( type_id NUMBER := FND_API.G_MISS_NUM,
29 type_name VARCHAR2(30) := FND_API.G_MISS_CHAR,
30 status_id NUMBER := FND_API.G_MISS_NUM,
31 status_name VARCHAR2(30) := FND_API.G_MISS_CHAR,
32 severity_id NUMBER := FND_API.G_MISS_NUM,
33 severity_name VARCHAR2(30) := FND_API.G_MISS_CHAR,
34 urgency_id NUMBER := FND_API.G_MISS_NUM,
35 urgency_name VARCHAR2(30) := FND_API.G_MISS_CHAR,
36 caller_type VARCHAR2(30) := FND_API.G_MISS_CHAR,
37 employee_id NUMBER := FND_API.G_MISS_NUM,
38 employee_number VARCHAR2(30) := FND_API.G_MISS_CHAR,
39 customer_product_id NUMBER := FND_API.G_MISS_NUM,
40 cp_ref_number NUMBER := FND_API.G_MISS_NUM, --3840658
41 publish_flag VARCHAR2(1) := FND_API.G_MISS_CHAR,
42 verify_cp_flag VARCHAR2(1) := FND_API.G_MISS_CHAR
43 );
44
45 -- Modification History
46 -- Date Name Description
47 ----------- -------- -----------------------------------------------------------
48 -- 05/04/05 smisra initialized maint_organization_id to G_MISS_NUM
49 -- And removed item_serial_number initialization
50 --------------------------------------------------------------------------------
51 PROCEDURE initialize_rec(
52 p_sr_record IN OUT NOCOPY service_request_rec_type
53 ) AS
54 BEGIN
55 p_sr_record.request_date := FND_API.G_MISS_DATE;
56 p_sr_record.type_id := FND_API.G_MISS_NUM;
57 p_sr_record.type_name := FND_API.G_MISS_CHAR;
58 p_sr_record.status_id := FND_API.G_MISS_NUM;
59 p_sr_record.status_name := FND_API.G_MISS_CHAR;
60 p_sr_record.severity_id := FND_API.G_MISS_NUM;
61 p_sr_record.severity_name := FND_API.G_MISS_CHAR;
62 p_sr_record.urgency_id := FND_API.G_MISS_NUM;
63 p_sr_record.urgency_name := FND_API.G_MISS_CHAR;
64 p_sr_record.closed_date := FND_API.G_MISS_DATE;
65 p_sr_record.owner_id := FND_API.G_MISS_NUM;
66 p_sr_record.owner_group_id := FND_API.G_MISS_NUM;
67 p_sr_record.publish_flag := FND_API.G_MISS_CHAR;
68 p_sr_record.summary := FND_API.G_MISS_CHAR;
69 p_sr_record.caller_type := FND_API.G_MISS_CHAR;
70 p_sr_record.customer_id := FND_API.G_MISS_NUM;
71 p_sr_record.customer_number := FND_API.G_MISS_CHAR;
72 p_sr_record.employee_id := FND_API.G_MISS_NUM;
73 p_sr_record.employee_number := FND_API.G_MISS_CHAR;
74 p_sr_record.verify_cp_flag := FND_API.G_MISS_CHAR;
75 p_sr_record.customer_product_id := FND_API.G_MISS_NUM;
76 p_sr_record.platform_id := FND_API.G_MISS_NUM;
77 p_sr_record.platform_version := FND_API.G_MISS_CHAR;
78 p_sr_record.db_version := FND_API.G_MISS_CHAR;
79 p_sr_record.platform_version_id := FND_API.G_MISS_NUM;
80 p_sr_record.cp_component_id := FND_API.G_MISS_NUM;
81 p_sr_record.cp_component_version_id := FND_API.G_MISS_NUM;
82 p_sr_record.cp_subcomponent_id := FND_API.G_MISS_NUM;
83 p_sr_record.cp_subcomponent_version_id := FND_API.G_MISS_NUM;
84 p_sr_record.language_id := FND_API.G_MISS_NUM;
85 p_sr_record.language := FND_API.G_MISS_CHAR;
86 p_sr_record.cp_ref_number := FND_API.G_MISS_NUM;
87 p_sr_record.inventory_item_id := FND_API.G_MISS_NUM;
88 p_sr_record.inventory_item_conc_segs := FND_API.G_MISS_CHAR;
89 p_sr_record.inventory_item_segment1 := FND_API.G_MISS_CHAR;
90 p_sr_record.inventory_item_segment2 := FND_API.G_MISS_CHAR;
91 p_sr_record.inventory_item_segment3 := FND_API.G_MISS_CHAR;
92 p_sr_record.inventory_item_segment4 := FND_API.G_MISS_CHAR;
93 p_sr_record.inventory_item_segment5 := FND_API.G_MISS_CHAR;
94 p_sr_record.inventory_item_segment6 := FND_API.G_MISS_CHAR;
95 p_sr_record.inventory_item_segment7 := FND_API.G_MISS_CHAR;
96 p_sr_record.inventory_item_segment8 := FND_API.G_MISS_CHAR;
97 p_sr_record.inventory_item_segment9 := FND_API.G_MISS_CHAR;
98 p_sr_record.inventory_item_segment10 := FND_API.G_MISS_CHAR;
99 p_sr_record.inventory_item_segment11 := FND_API.G_MISS_CHAR;
100 p_sr_record.inventory_item_segment12 := FND_API.G_MISS_CHAR;
101 p_sr_record.inventory_item_segment13 := FND_API.G_MISS_CHAR;
102 p_sr_record.inventory_item_segment14 := FND_API.G_MISS_CHAR;
103 p_sr_record.inventory_item_segment15 := FND_API.G_MISS_CHAR;
104 p_sr_record.inventory_item_segment16 := FND_API.G_MISS_CHAR;
105 p_sr_record.inventory_item_segment17 := FND_API.G_MISS_CHAR;
106 p_sr_record.inventory_item_segment18 := FND_API.G_MISS_CHAR;
107 p_sr_record.inventory_item_segment19 := FND_API.G_MISS_CHAR;
108 p_sr_record.inventory_item_segment20 := FND_API.G_MISS_CHAR;
109 p_sr_record.inventory_item_vals_or_ids := 'V';
110 p_sr_record.inventory_org_id := FND_API.G_MISS_NUM;
111 p_sr_record.current_serial_number := FND_API.G_MISS_CHAR;
112 p_sr_record.original_order_number := FND_API.G_MISS_NUM;
113 p_sr_record.purchase_order_num := FND_API.G_MISS_CHAR;
114 p_sr_record.problem_code := FND_API.G_MISS_CHAR;
115 p_sr_record.exp_resolution_date := FND_API.G_MISS_DATE;
116 p_sr_record.install_site_use_id := FND_API.G_MISS_NUM;
117 p_sr_record.request_attribute_1 := FND_API.G_MISS_CHAR;
118 p_sr_record.request_attribute_2 := FND_API.G_MISS_CHAR;
119 p_sr_record.request_attribute_3 := FND_API.G_MISS_CHAR;
120 p_sr_record.request_attribute_4 := FND_API.G_MISS_CHAR;
121 p_sr_record.request_attribute_5 := FND_API.G_MISS_CHAR;
122 p_sr_record.request_attribute_6 := FND_API.G_MISS_CHAR;
123 p_sr_record.request_attribute_7 := FND_API.G_MISS_CHAR;
124 p_sr_record.request_attribute_8 := FND_API.G_MISS_CHAR;
125 p_sr_record.request_attribute_9 := FND_API.G_MISS_CHAR;
126 p_sr_record.request_attribute_10 := FND_API.G_MISS_CHAR;
127 p_sr_record.request_attribute_11 := FND_API.G_MISS_CHAR;
128 p_sr_record.request_attribute_12 := FND_API.G_MISS_CHAR;
129 p_sr_record.request_attribute_13 := FND_API.G_MISS_CHAR;
130 p_sr_record.request_attribute_14 := FND_API.G_MISS_CHAR;
131 p_sr_record.request_attribute_15 := FND_API.G_MISS_CHAR;
132 p_sr_record.request_context := FND_API.G_MISS_CHAR;
133 ---For ER# 2501166 added these external attributes date 1st oct 2002
134 p_sr_record.external_attribute_1 := FND_API.G_MISS_CHAR;
135 p_sr_record.external_attribute_2 := FND_API.G_MISS_CHAR;
136 p_sr_record.external_attribute_3 := FND_API.G_MISS_CHAR;
137 p_sr_record.external_attribute_4 := FND_API.G_MISS_CHAR;
138 p_sr_record.external_attribute_5 := FND_API.G_MISS_CHAR;
139 p_sr_record.external_attribute_6 := FND_API.G_MISS_CHAR;
140 p_sr_record.external_attribute_7 := FND_API.G_MISS_CHAR;
141 p_sr_record.external_attribute_8 := FND_API.G_MISS_CHAR;
142 p_sr_record.external_attribute_9 := FND_API.G_MISS_CHAR;
143 p_sr_record.external_attribute_10 := FND_API.G_MISS_CHAR;
144 p_sr_record.external_attribute_11 := FND_API.G_MISS_CHAR;
145 p_sr_record.external_attribute_12 := FND_API.G_MISS_CHAR;
146 p_sr_record.external_attribute_13 := FND_API.G_MISS_CHAR;
147 p_sr_record.external_attribute_14 := FND_API.G_MISS_CHAR;
148 p_sr_record.external_attribute_15 := FND_API.G_MISS_CHAR;
149 p_sr_record.external_context := FND_API.G_MISS_CHAR;
150 p_sr_record.bill_to_site_use_id := FND_API.G_MISS_NUM;
151 p_sr_record.bill_to_contact_id := FND_API.G_MISS_NUM;
152 p_sr_record.ship_to_site_use_id := FND_API.G_MISS_NUM;
153 p_sr_record.ship_to_contact_id := FND_API.G_MISS_NUM;
154 p_sr_record.resolution_code := FND_API.G_MISS_CHAR;
155 p_sr_record.act_resolution_date := FND_API.G_MISS_DATE;
156 p_sr_record.public_comment_flag := FND_API.G_MISS_CHAR;
157 p_sr_record.parent_interaction_id := FND_API.G_MISS_NUM;
158 p_sr_record.contract_id := FND_API.G_MISS_NUM; -- for BUG 2776748
159 p_sr_record.contract_service_id := FND_API.G_MISS_NUM;
160 p_sr_record.contract_service_number := FND_API.G_MISS_CHAR;
161 p_sr_record.qa_collection_plan_id := FND_API.G_MISS_NUM;
162 p_sr_record.account_id := FND_API.G_MISS_NUM;
163 p_sr_record.resource_type := FND_API.G_MISS_CHAR;
164 p_sr_record.resource_subtype_id := FND_API.G_MISS_NUM;
165 p_sr_record.cust_po_number := FND_API.G_MISS_CHAR;
166 p_sr_record.cust_ticket_number := FND_API.G_MISS_CHAR;
167 p_sr_record.sr_creation_channel := FND_API.G_MISS_CHAR;
168 p_sr_record.obligation_date := FND_API.G_MISS_DATE;
169 p_sr_record.time_zone_id := FND_API.G_MISS_NUM;
170 p_sr_record.time_difference := FND_API.G_MISS_NUM;
171 p_sr_record.site_id := FND_API.G_MISS_NUM;
172 p_sr_record.customer_site_id := FND_API.G_MISS_NUM;
173 p_sr_record.territory_id := FND_API.G_MISS_NUM;
174 p_sr_record.initialize_flag := G_INITIALIZED;
175 p_sr_record.cp_revision_id := FND_API.G_MISS_NUM;
176 p_sr_record.inv_item_revision := FND_API.G_MISS_CHAR;
177 p_sr_record.inv_component_id := FND_API.G_MISS_NUM;
178 p_sr_record.inv_component_version := FND_API.G_MISS_CHAR;
179 p_sr_record.inv_subcomponent_id := FND_API.G_MISS_NUM;
180 p_sr_record.inv_subcomponent_version := FND_API.G_MISS_CHAR;
181 -- Fix for Bug# 2155981
182 p_sr_record.project_number := FND_API.G_MISS_CHAR;
183 -----jngeorge-----enhancements-----11.5.6-----07/12/01
184 p_sr_record.tier := FND_API.G_MISS_CHAR;
185 p_sr_record.tier_version := FND_API.G_MISS_CHAR;
186 p_sr_record.operating_system := FND_API.G_MISS_CHAR;
187 p_sr_record.operating_system_version := FND_API.G_MISS_CHAR;
188 p_sr_record.database := FND_API.G_MISS_CHAR;
189 p_sr_record.cust_pref_lang_id := FND_API.G_MISS_NUM;
190 p_sr_record.category_id := FND_API.G_MISS_NUM;
191 p_sr_record.group_type := FND_API.G_MISS_CHAR;
192 p_sr_record.group_territory_id := FND_API.G_MISS_NUM;
193 p_sr_record.inv_platform_org_id := FND_API.G_MISS_NUM;
194 p_sr_record.product_revision := FND_API.G_MISS_CHAR;
195 p_sr_record.component_version := FND_API.G_MISS_CHAR;
196 p_sr_record.subcomponent_version := FND_API.G_MISS_CHAR;
197 p_sr_record.comm_pref_code := FND_API.G_MISS_CHAR;
198 --- Added for Post 11.5.6 Enhancements
199 p_sr_record.cust_pref_lang_code := FND_API.G_MISS_CHAR;
200 p_sr_record.last_update_channel := FND_API.G_MISS_CHAR;
201 p_sr_record.category_set_id := FND_API.G_MISS_NUM;
202 p_sr_record.external_reference := FND_API.G_MISS_CHAR;
203 p_sr_record.system_id := FND_API.G_MISS_NUM;
204 -------jngeorge----07/12/01
205 p_sr_record.error_code := FND_API.G_MISS_CHAR;
206 p_sr_record.incident_occurred_date := FND_API.G_MISS_DATE;
207 p_sr_record.incident_resolved_date := FND_API.G_MISS_DATE;
208 p_sr_record.inc_responded_by_date := FND_API.G_MISS_DATE;
209 p_sr_record.incident_location_id := FND_API.G_MISS_NUM;
210 p_sr_record.incident_address := FND_API.G_MISS_CHAR;
211 p_sr_record.incident_city := FND_API.G_MISS_CHAR;
212 p_sr_record.incident_state := FND_API.G_MISS_CHAR;
213 p_sr_record.incident_country := FND_API.G_MISS_CHAR;
214 p_sr_record.incident_province := FND_API.G_MISS_CHAR;
215 p_sr_record.incident_postal_code := FND_API.G_MISS_CHAR;
216 p_sr_record.incident_county := FND_API.G_MISS_CHAR;
217 p_sr_record.resolution_summary := FND_API.G_MISS_CHAR;
218 -- Added for Enh# 2216664
219 p_sr_record.owner := FND_API.G_MISS_CHAR;
220 p_sr_record.group_owner := FND_API.G_MISS_CHAR;
221 -- Added for Credit Card ER# 2255263 (UI ER#2208078)
222 p_sr_record.cc_number := FND_API.G_MISS_CHAR;
223 p_sr_record.cc_expiration_date := FND_API.G_MISS_DATE;
224 p_sr_record.cc_type_code := FND_API.G_MISS_CHAR;
225 p_sr_record.cc_first_name := FND_API.G_MISS_CHAR;
226 p_sr_record.cc_last_name := FND_API.G_MISS_CHAR;
227 p_sr_record.cc_middle_name := FND_API.G_MISS_CHAR;
228 p_sr_record.cc_id := FND_API.G_MISS_NUM;
229 p_sr_record.bill_to_account_id := FND_API.G_MISS_NUM; -- ER# 2433831
230 p_sr_record.ship_to_account_id := FND_API.G_MISS_NUM; -- ER# 2433831
231 p_sr_record.customer_phone_id := FND_API.G_MISS_NUM; -- ER# 2463321
232 p_sr_record.customer_email_id := FND_API.G_MISS_NUM; -- ER# 2463321
233 p_sr_record.creation_program_code := FND_API.G_MISS_CHAR; -- ER source
234 p_sr_record.last_update_program_code := FND_API.G_MISS_CHAR; -- ER source
235 -- Bill_to_party, ship_to_party
236 p_sr_record.bill_to_party_id := FND_API.G_MISS_NUM;
237 p_sr_record.ship_to_party_id := FND_API.G_MISS_NUM;
238 -- Conc request related fields
239 p_sr_record.program_id := FND_API.G_MISS_NUM;
240 p_sr_record.program_application_id := FND_API.G_MISS_NUM;
241 p_sr_record.conc_request_id := FND_API.G_MISS_NUM;
242 p_sr_record.program_login_id := FND_API.G_MISS_NUM;
243 -- Bill_to_party_site, ship_to_party_site
244 p_sr_record.bill_to_site_id := FND_API.G_MISS_NUM;
245 p_sr_record.ship_to_site_id := FND_API.G_MISS_NUM;
246 -- Added to initialize the address columns by shijain dec 4th 2002
247
248 p_sr_record.incident_point_of_interest := FND_API.G_MISS_CHAR;
249 p_sr_record.incident_cross_street := FND_API.G_MISS_CHAR;
250 p_sr_record.incident_direction_qualifier := FND_API.G_MISS_CHAR;
251 p_sr_record.incident_distance_qualifier := FND_API.G_MISS_CHAR;
252 p_sr_record.incident_distance_qual_uom := FND_API.G_MISS_CHAR;
253 p_sr_record.incident_address2 := FND_API.G_MISS_CHAR;
254 p_sr_record.incident_address3 := FND_API.G_MISS_CHAR;
255 p_sr_record.incident_address4 := FND_API.G_MISS_CHAR;
256 p_sr_record.incident_address_style := FND_API.G_MISS_CHAR;
257 p_sr_record.incident_addr_lines_phonetic := FND_API.G_MISS_CHAR;
258 p_sr_record.incident_po_box_number := FND_API.G_MISS_CHAR;
259 p_sr_record.incident_house_number := FND_API.G_MISS_CHAR;
260 p_sr_record.incident_street_suffix := FND_API.G_MISS_CHAR;
261 p_sr_record.incident_street := FND_API.G_MISS_CHAR;
262 p_sr_record.incident_street_number := FND_API.G_MISS_CHAR;
263 p_sr_record.incident_floor := FND_API.G_MISS_CHAR;
264 p_sr_record.incident_suite := FND_API.G_MISS_CHAR;
265 p_sr_record.incident_postal_plus4_code := FND_API.G_MISS_CHAR;
266 p_sr_record.incident_position := FND_API.G_MISS_CHAR;
267 p_sr_record.incident_location_directions := FND_API.G_MISS_CHAR;
268 p_sr_record.incident_location_description:= FND_API.G_MISS_CHAR;
269 p_sr_record.install_site_id := FND_API.G_MISS_NUM;
270 -- Added initialization for incident location type here since Rosetta
271 -- ignores default values for record type attributes --anmukher --08/29/03
272 -- Changed the default value to 'HZ_LOCATION' --anmukher --09/05/03
273 p_sr_record.incident_location_type := 'HZ_LOCATION';
274 p_sr_record.coverage_type := FND_API.G_MISS_CHAR;
275 -- for cmro_Eam
276 p_sr_record.owning_department_id := FND_API.G_MISS_NUM;
277 p_sr_record.maint_organization_id := FND_API.G_MISS_NUM;
278 p_sr_record.created_by := FND_API.G_MISS_NUM;
279 p_sr_record.creation_date := FND_API.G_MISS_DATE;
280 /* Credit Card 9358401 */
281 p_sr_record.instrument_payment_use_id := FND_API.G_MISS_NUM;
282 --project related attributes 12.2+
283 p_sr_record.project_id := FND_API.G_MISS_NUM;
284 p_sr_record.project_task_id := FND_API.G_MISS_NUM;
285 p_sr_record.expenditure_org_id := FND_API.G_MISS_NUM;
286 --end of project related attributes
287 --14004721 . Additional SLA dates
288 p_sr_record.sla_date_1 := FND_API.G_MISS_DATE;
289 p_sr_record.sla_date_2 := FND_API.G_MISS_DATE;
290 p_sr_record.sla_date_3 := FND_API.G_MISS_DATE;
291 p_sr_record.sla_date_4 := FND_API.G_MISS_DATE;
292 p_sr_record.sla_date_5 := FND_API.G_MISS_DATE;
293 p_sr_record.sla_date_6 := FND_API.G_MISS_DATE;
294 p_sr_record.sla_duration_1 := FND_API.G_MISS_NUM;
295 p_sr_record.sla_duration_2 := FND_API.G_MISS_NUM;
296 --15995804. Add price_list_header_id
297 p_sr_record.price_list_header_id := FND_API.G_MISS_NUM;
298
299
300 END initialize_rec;
301
302 --------------------------------------------------------------------------
303 -- Procedure Default_Other_Attributes
304 -- Description:
305 -- Default missing attributes that are not in the Service Request record.
306 -- If the parameter is NULL, then the default value for that attribute is
307 -- returned; otherwise, the passed value is returned. Defaulting rules
308 -- are:
309 -- 1. Defaults the responsibility application ID, responsiblity ID, user
310 -- ID, and login ID to the values from the FND_GLOBAL global variables.
311 -- 2. If Multi-Org is enabled, default the operating unit ID to the value
312 -- from the RDBMS session-level global variable or the profile option;
313 -- otherwise, default to NULL.
314 -- 3. Defaults the inventory organization ID to the value from the
315 -- profile option.
316 --------------------------------------------------------------------------
317
318 PROCEDURE Default_Other_Attributes
319 ( p_api_name IN VARCHAR2,
320 p_resp_appl_id IN OUT NOCOPY NUMBER,
321 p_resp_id IN OUT NOCOPY NUMBER,
322 p_user_id IN OUT NOCOPY NUMBER,
323 p_login_id IN OUT NOCOPY NUMBER,
324 p_org_id IN OUT NOCOPY NUMBER,
325 p_inventory_org_id IN OUT NOCOPY NUMBER,
326 p_return_status OUT NOCOPY VARCHAR2
327 );
328
329
330 ---------------------------------------------------------------------------
331 -- Procedure Convert_Request_Val_To_ID
332 -- Description:
333 -- Convert type name, status name, severity name, urgency name, customer
334 -- name or number, CP reference number, and RMA number into their
335 -- internal IDs. Convert flags from G_TRUE and G_FALSE to 'Y' and 'N'
336 -- respectively.
337 -- Notes:
338 -- If neither the ID nor value based parameter is passed, the ID attribute
339 -- remains FND_API.G_MISS_NUM. If the ID paramter is not passed and the
340 -- value parameter is NULL, the ID attribute gets set to NULL.
341 -- If an error occurs (e.g. failure to resolve a value into an ID), this
342 -- procedure returns with an error before converting the rest of the
343 -- value parameters. If an unexpected error (e.g. database failure)
344 -- occurs, the 'OTHERS' exception may be raised and must be handled by
345 -- the calling procedure.
346 -- After calling this procedure, all the "flag" values will either be
347 -- converted to Y/N, or remain FND_API.G_MISS_CHAR or NULL.
348 ---------------------------------------------------------------------------
349
350 PROCEDURE Convert_Request_Val_To_ID
351 ( p_api_name IN VARCHAR2,
352 p_org_id IN NUMBER := NULL,
353 p_request_conv_rec IN OUT NOCOPY Request_Conversion_Rec_Type,
354 p_return_status OUT NOCOPY VARCHAR2
355 );
356
357
358 --------------------------------------------------------------------------
359 -- Procedure Convert_Key_Flex_To_ID
360 -- Description:
361 -- Find the code combination ID number for the given set of key flexfield
362 -- segment values.
363 -- Notes:
364 -- p_attribute_segments_tbl is required because the FND_FLEX_EXT package
365 -- does not provide a "missing table" global variable. Instead, the
366 -- caller must pass in either an empty table, or a table with "missing"
367 -- strings.
368 --------------------------------------------------------------------------
369
370 PROCEDURE Convert_Key_Flex_To_ID
371 ( p_api_name IN VARCHAR2,
372 p_application_short_name IN VARCHAR2,
373 p_key_flex_code IN VARCHAR2,
374 p_structure_number IN NUMBER,
375 p_attribute_id IN NUMBER := FND_API.G_MISS_NUM,
376 p_attribute_conc_segs IN VARCHAR2 := FND_API.G_MISS_CHAR,
377 p_attribute_segments_tbl IN FND_FLEX_EXT.SegmentArray,
378 p_attribute_n_segments IN NUMBER := 0,
379 p_attribute_vals_or_ids IN VARCHAR2 := 'V',
380 p_data_set IN NUMBER := NULL,
381 p_resp_appl_id IN NUMBER := NULL,
382 p_resp_id IN NUMBER := NULL,
383 p_user_id IN NUMBER := NULL,
384 p_attribute_id_out OUT NOCOPY NUMBER,
385 p_return_status OUT NOCOPY VARCHAR2
386 );
387
388
389 /*** Moved this procedure to csusrb.pls as this is being used in PVT API too
390 1/28/2004 smisra
391 --------------------------------------------------------------------------
392 -- Procedure Validate_Desc_Flex
393 -- Description:
394 -- Validate descriptive flexfield segment IDs and context.
395 -- Notes:
396 -- This procedure currently does not accept a concatenated string of
397 -- segment IDs as input, since the descriptive flexfield API does not
398 -- allow access to the segment column names in the same order that the
399 -- segment IDs are returned. In other words, there is no way to breakup
400 -- the concatenated segments into 15 attribute column values.
401 --------------------------------------------------------------------------
402 PROCEDURE Validate_Desc_Flex
403 ( p_api_name IN VARCHAR2,
404 p_application_short_name IN VARCHAR2,
405 p_desc_flex_name IN VARCHAR2,
406 p_desc_segment1 IN VARCHAR2,
407 p_desc_segment2 IN VARCHAR2,
408 p_desc_segment3 IN VARCHAR2,
409 p_desc_segment4 IN VARCHAR2,
410 p_desc_segment5 IN VARCHAR2,
411 p_desc_segment6 IN VARCHAR2,
412 p_desc_segment7 IN VARCHAR2,
413 p_desc_segment8 IN VARCHAR2,
414 p_desc_segment9 IN VARCHAR2,
415 p_desc_segment10 IN VARCHAR2,
416 p_desc_segment11 IN VARCHAR2,
417 p_desc_segment12 IN VARCHAR2,
418 p_desc_segment13 IN VARCHAR2,
419 p_desc_segment14 IN VARCHAR2,
420 p_desc_segment15 IN VARCHAR2,
421 p_desc_context IN VARCHAR2,
422 p_resp_appl_id IN NUMBER := NULL,
423 p_resp_id IN NUMBER := NULL,
424 p_return_status OUT NOCOPY VARCHAR2
425 );
426 *****/
427
428 --------------------------------------------------------------------------
429 -- Procedure Validate_Strings
430 -- Description:
431 -- Verify that all VARCHAR2 parameters have string lengths less than or
432 -- equal to the corresponding database column lengths; truncate when
433 -- necessary.
434 --------------------------------------------------------------------------
435
436 PROCEDURE Validate_Strings
437 ( p_api_name IN VARCHAR2,
438 p_summary IN VARCHAR2 := FND_API.G_MISS_CHAR,
439 p_customer_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
440 p_customer_number IN VARCHAR2 := FND_API.G_MISS_CHAR,
441 p_contact_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
442 p_contact_area_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
443 p_contact_telephone IN VARCHAR2 := FND_API.G_MISS_CHAR,
444 p_contact_extension IN VARCHAR2 := FND_API.G_MISS_CHAR,
445 p_contact_fax_area_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
446 p_contact_fax_number IN VARCHAR2 := FND_API.G_MISS_CHAR,
447 p_contact_email_address IN VARCHAR2 := FND_API.G_MISS_CHAR,
448 p_rep_by_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
449 p_rep_by_area_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
450 p_rep_by_telephone IN VARCHAR2 := FND_API.G_MISS_CHAR,
451 p_rep_by_extension IN VARCHAR2 := FND_API.G_MISS_CHAR,
452 p_rep_by_fax_area_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
453 p_rep_by_fax_number IN VARCHAR2 := FND_API.G_MISS_CHAR,
454 p_rep_by_email IN VARCHAR2 := FND_API.G_MISS_CHAR,
455 p_current_serial_number IN VARCHAR2 := FND_API.G_MISS_CHAR,
456 p_purchase_order_num IN VARCHAR2 := FND_API.G_MISS_CHAR,
457 p_problem_description IN VARCHAR2 := FND_API.G_MISS_CHAR,
458 p_install_location IN VARCHAR2 := FND_API.G_MISS_CHAR,
459 p_install_customer IN VARCHAR2 := FND_API.G_MISS_CHAR,
460 p_install_address_line_1 IN VARCHAR2 := FND_API.G_MISS_CHAR,
461 p_install_address_line_2 IN VARCHAR2 := FND_API.G_MISS_CHAR,
462 p_install_address_line_3 IN VARCHAR2 := FND_API.G_MISS_CHAR,
463 p_bill_to_location IN VARCHAR2 := FND_API.G_MISS_CHAR,
464 p_bill_to_customer IN VARCHAR2 := FND_API.G_MISS_CHAR,
465 p_bill_to_address_line_1 IN VARCHAR2 := FND_API.G_MISS_CHAR,
466 p_bill_to_address_line_2 IN VARCHAR2 := FND_API.G_MISS_CHAR,
467 p_bill_to_address_line_3 IN VARCHAR2 := FND_API.G_MISS_CHAR,
468 p_bill_to_contact IN VARCHAR2 := FND_API.G_MISS_CHAR,
469 p_ship_to_location IN VARCHAR2 := FND_API.G_MISS_CHAR,
470 p_ship_to_customer IN VARCHAR2 := FND_API.G_MISS_CHAR,
471 p_ship_to_address_line_1 IN VARCHAR2 := FND_API.G_MISS_CHAR,
472 p_ship_to_address_line_2 IN VARCHAR2 := FND_API.G_MISS_CHAR,
473 p_ship_to_address_line_3 IN VARCHAR2 := FND_API.G_MISS_CHAR,
474 p_ship_to_contact IN VARCHAR2 := FND_API.G_MISS_CHAR,
475 p_problem_resolution IN VARCHAR2 := FND_API.G_MISS_CHAR,
476 p_audit_comments IN VARCHAR2 := FND_API.G_MISS_CHAR,
477 p_inv_item_revision IN VARCHAR2 := FND_API.G_MISS_CHAR,
478 p_inv_component_version IN VARCHAR2 := FND_API.G_MISS_CHAR,
479 p_inv_subcomponent_version IN VARCHAR2 := FND_API.G_MISS_CHAR,
480 p_summary_out OUT NOCOPY VARCHAR2,
481 p_customer_name_out OUT NOCOPY VARCHAR2,
482 p_customer_number_out OUT NOCOPY VARCHAR2,
483 p_contact_name_out OUT NOCOPY VARCHAR2,
484 p_contact_area_code_out OUT NOCOPY VARCHAR2,
485 p_contact_telephone_out OUT NOCOPY VARCHAR2,
486 p_contact_extension_out OUT NOCOPY VARCHAR2,
487 p_contact_fax_area_code_out OUT NOCOPY VARCHAR2,
488 p_contact_fax_number_out OUT NOCOPY VARCHAR2,
489 p_contact_email_address_out OUT NOCOPY VARCHAR2,
490 p_rep_by_name_out OUT NOCOPY VARCHAR2,
491 p_rep_by_area_code_out OUT NOCOPY VARCHAR2,
492 p_rep_by_telephone_out OUT NOCOPY VARCHAR2,
493 p_rep_by_extension_out OUT NOCOPY VARCHAR2,
494 p_rep_by_fax_area_code_out OUT NOCOPY VARCHAR2,
495 p_rep_by_fax_number_out OUT NOCOPY VARCHAR2,
496 p_rep_by_email_out OUT NOCOPY VARCHAR2,
497 p_current_serial_number_out OUT NOCOPY VARCHAR2,
498 p_purchase_order_num_out OUT NOCOPY VARCHAR2,
499 p_problem_description_out OUT NOCOPY VARCHAR2,
500 p_install_location_out OUT NOCOPY VARCHAR2,
501 p_install_customer_out OUT NOCOPY VARCHAR2,
502 p_install_address_line_1_out OUT NOCOPY VARCHAR2,
503 p_install_address_line_2_out OUT NOCOPY VARCHAR2,
504 p_install_address_line_3_out OUT NOCOPY VARCHAR2,
505 p_bill_to_location_out OUT NOCOPY VARCHAR2,
506 p_bill_to_customer_out OUT NOCOPY VARCHAR2,
507 p_bill_to_address_line_1_out OUT NOCOPY VARCHAR2,
508 p_bill_to_address_line_2_out OUT NOCOPY VARCHAR2,
509 p_bill_to_address_line_3_out OUT NOCOPY VARCHAR2,
510 p_bill_to_contact_out OUT NOCOPY VARCHAR2,
511 p_ship_to_location_out OUT NOCOPY VARCHAR2,
512 p_ship_to_customer_out OUT NOCOPY VARCHAR2,
513 p_ship_to_address_line_1_out OUT NOCOPY VARCHAR2,
514 p_ship_to_address_line_2_out OUT NOCOPY VARCHAR2,
515 p_ship_to_address_line_3_out OUT NOCOPY VARCHAR2,
516 p_ship_to_contact_out OUT NOCOPY VARCHAR2,
517 p_problem_resolution_out OUT NOCOPY VARCHAR2,
518 p_audit_comments_out OUT NOCOPY VARCHAR2,
519 p_inv_item_revision_out OUT NOCOPY VARCHAR2,
520 p_inv_component_version_out OUT NOCOPY VARCHAR2,
521 p_inv_subcomponent_version_out OUT NOCOPY VARCHAR2
522 );
523
524
525 --------------------------------------------------------------------------
526 -- Procedure Get_Default_Values
527 -- Description:
528 -- This procedure is, and should be called from all of the Update APIs.
529 -- If checks to make sure that either request ID or request Number is
530 -- passed into the API, and converts the request number into ID when
531 -- necessary. It also retrives the applications internal IDs such as
532 -- user ID, login ID, ..., etc.
533 --------------------------------------------------------------------------
534
535 PROCEDURE Get_Default_Values(
536 p_api_name IN VARCHAR,
537 p_org_id IN OUT NOCOPY NUMBER,
538 p_resp_appl_id IN OUT NOCOPY NUMBER,
539 p_resp_id IN OUT NOCOPY NUMBER,
540 p_user_id IN OUT NOCOPY NUMBER,
541 p_login_id IN OUT NOCOPY NUMBER,
542 p_inventory_org_id IN OUT NOCOPY NUMBER,
543 p_request_id IN NUMBER,
544 p_request_number IN VARCHAR2,
545 p_request_id_out OUT NOCOPY NUMBER,
546 p_return_status OUT NOCOPY VARCHAR2 );
547
548 --------------------------------------------------------------------------
549 -- Procedure Log_SR_PUB_Parameters
550 -- Description:
551 -- This procedure used to log the parameters of service_request_type_rec,
552 -- Notes table and the Contacts table
553 -- This procedure is only going to be called from the Create_ServiceRequest
554 -- and Update_ServiceRequest procedure.
555 --------------------------------------------------------------------------
556
557 PROCEDURE Log_SR_PUB_Parameters
558 ( p_service_request_rec IN service_request_rec_type
559 ,p_notes IN notes_table
560 ,p_contacts IN contacts_table
561 );
562
563
564 /* ************************************************************************* *
565 * API Procedure Bodies *
566 * ************************************************************************* */
567 --------------------------------------------------------------------------
568 -- Create_ServiceRequest
569 --------------------------------------------------------------------------
570
571 ----------------anmukher--------------07/31/03
572 -- Overloaded procedure added for backward compatibility in 11.5.10
573 -- since several new OUT parameters have been added to the 11.5.9 signature
574 -- in the form of a new record type, sr_create_out_rec_type
575 PROCEDURE Create_ServiceRequest
576 ( p_api_version IN NUMBER,
577 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
578 p_commit IN VARCHAR2 := FND_API.G_FALSE,
579 x_return_status OUT NOCOPY VARCHAR2,
580 x_msg_count OUT NOCOPY NUMBER,
581 x_msg_data OUT NOCOPY VARCHAR2,
582 p_resp_appl_id IN NUMBER := NULL,
583 p_resp_id IN NUMBER := NULL,
584 p_user_id IN NUMBER := NULL,
585 p_login_id IN NUMBER := NULL,
586 p_org_id IN NUMBER := NULL,
587 p_request_id IN NUMBER := NULL,
588 p_request_number IN VARCHAR2 := NULL,
589 p_service_request_rec IN service_request_rec_type,
590 p_notes IN notes_table,
591 p_contacts IN contacts_table,
592 -- Added for Assignment Manager 11.5.9 change
593 p_auto_assign IN VARCHAR2 Default 'N',
594 p_default_contract_sla_ind IN VARCHAR2 Default 'N',
595 x_request_id OUT NOCOPY NUMBER,
596 x_request_number OUT NOCOPY VARCHAR2,
597 x_interaction_id OUT NOCOPY NUMBER,
598 x_workflow_process_id OUT NOCOPY NUMBER,
599 -- These 3 parameters are added for Assignment Manager 115.9 changes.
600 x_individual_owner OUT NOCOPY NUMBER,
601 x_group_owner OUT NOCOPY NUMBER,
602 x_individual_type OUT NOCOPY VARCHAR2
603 )
604 IS
605 l_api_version CONSTANT NUMBER := 3.0;
606 l_api_name CONSTANT VARCHAR2(30) := 'Create_ServiceRequest';
607 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
608 l_return_status VARCHAR2(1);
609 -- Added for making call to 11.5.10 signature of Create SR public API
610 l_sr_create_out_rec sr_create_out_rec_type;
611
612 BEGIN
613 -- Standard start of API savepoint
614 SAVEPOINT Create_ServiceRequest_PUB;
615
616 --BUG 3630159:
617 --Added to clear message cache in case of API call wrong version.
618 -- Initialize message list if p_init_msg_list is set to TRUE
619 IF FND_API.To_Boolean(p_init_msg_list) THEN
620 FND_MSG_PUB.Initialize;
621 END IF;
622
623 -- Standard call to check for call compatibility
624 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
625 G_PKG_NAME) THEN
626 -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR; #BUG 3630127
627 RAISE FND_API.G_EXC_ERROR;
628 END IF;
629
630 -- Initialize API return status to success
631 l_return_status := FND_API.G_RET_STS_SUCCESS;
632
633 CS_ServiceRequest_PUB.Create_ServiceRequest
634 ( p_api_version => 4.0,
635 p_init_msg_list => p_init_msg_list,
636 p_commit => p_commit,
637 x_return_status => l_return_status,
638 x_msg_count => x_msg_count,
639 x_msg_data => x_msg_data,
640 p_resp_appl_id => p_resp_appl_id,
641 p_resp_id => p_resp_id,
642 p_user_id => p_user_id,
643 p_login_id => p_login_id,
644 p_org_id => p_org_id,
645 p_request_id => p_request_id,
646 p_request_number => p_request_number,
647 p_service_request_rec => p_service_request_rec,
648 p_notes => p_notes,
649 p_contacts => p_contacts,
650 p_auto_assign => p_auto_assign,
651 p_auto_generate_tasks => 'N',
652 x_sr_create_out_rec => l_sr_create_out_rec,
653 p_default_contract_sla_ind => p_default_contract_sla_ind,
654 p_default_coverage_template_id => NULL
655 );
656
657 x_return_status := l_return_status;
658
659 x_request_id := l_sr_create_out_rec.request_id;
660 x_request_number := l_sr_create_out_rec.request_number;
661 x_interaction_id := l_sr_create_out_rec.interaction_id;
662 x_workflow_process_id := l_sr_create_out_rec.workflow_process_id;
663 x_individual_owner := l_sr_create_out_rec.individual_owner;
664 x_group_owner := l_sr_create_out_rec.group_owner;
665 x_individual_type := l_sr_create_out_rec.individual_type;
666
667 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
668 RAISE FND_API.G_EXC_ERROR;
669 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
670 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
671 END IF;
672
673 EXCEPTION
674 WHEN FND_API.G_EXC_ERROR THEN
675 ROLLBACK TO Create_ServiceRequest_PUB;
676 x_return_status := FND_API.G_RET_STS_ERROR;
677 FND_MSG_PUB.Count_And_Get
678 ( p_count => x_msg_count,
679 p_data => x_msg_data
680 );
681 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
682 ROLLBACK TO Create_ServiceRequest_PUB;
683 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
684 FND_MSG_PUB.Count_And_Get
685 ( p_count => x_msg_count,
686 p_data => x_msg_data
687 );
688 WHEN OTHERS THEN
689 ROLLBACK TO Create_ServiceRequest_PUB;
690 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
691 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
692 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
693 END IF;
694 FND_MSG_PUB.Count_And_Get
695 ( p_count => x_msg_count,
696 p_data => x_msg_data
697 );
698
699 END Create_ServiceRequest;
700
701 ----------------------------------------------------------------------------
702
703 -- Modification History
704 -- Date Name Description
705 ----------- -------- -----------------------------------------------------------
706 -- 05/04/05 smisra copied maint_organization_id to PVT API rec
707 -- Removed passing of item_serial_number to PVT SR Rec
708 -- 03/08/05 smisra Raised exception if item_serial_number is passed
709 -- 12/30/05 smisra Bug 4869120
710 -- Removed the code in defaultrequest_attributes
711 -- that derives resource type. This is now part of
712 -- procedure cs_servicerequest_util.validate_owner.
713 --------------------------------------------------------------------------------
714 PROCEDURE Create_ServiceRequest
715 ( p_api_version IN NUMBER,
716 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
717 p_commit IN VARCHAR2 := FND_API.G_FALSE,
718 x_return_status OUT NOCOPY VARCHAR2,
719 x_msg_count OUT NOCOPY NUMBER,
720 x_msg_data OUT NOCOPY VARCHAR2,
721 p_resp_appl_id IN NUMBER := NULL,
722 p_resp_id IN NUMBER := NULL,
723 p_user_id IN NUMBER := NULL,
724 p_login_id IN NUMBER := NULL,
725 p_org_id IN NUMBER := FND_API.G_MISS_NUM,
726 p_request_id IN NUMBER := NULL,
727 p_request_number IN VARCHAR2 := NULL,
728 p_service_request_rec IN service_request_rec_type,
729 p_notes IN notes_table,
730 p_contacts IN contacts_table,
731 -- Added for Assignment Manager 11.5.9 change
732 p_auto_assign IN VARCHAR2 Default 'N',
733 --------------anmukher----------------------07/31/03
734 -- Added for 11.5.10 projects (AutoTask, Miscellaneous ERs)
735 p_auto_generate_tasks IN VARCHAR2 Default 'N',
736 x_sr_create_out_rec OUT NOCOPY sr_create_out_rec_type,
737 p_default_contract_sla_ind IN VARCHAR2 Default 'N',
738 p_default_coverage_template_id IN NUMBER Default NULL
739 ---------------anmukher----------------------07/31/03
740 -- The following OUT parameters have been added to the record type sr_create_out_rec_type
741 -- and have therefore been commented out. This will allow avoidance of future overloading
742 -- if a new OUT parameter were to be needed, since it can be added to the same record type.
743 -- x_request_id OUT NOCOPY NUMBER,
744 -- x_request_number OUT NOCOPY VARCHAR2,
745 -- x_interaction_id OUT NOCOPY NUMBER,
746 -- x_workflow_process_id OUT NOCOPY NUMBER,
747 -- Added for assignment manager changes for 11.5.9
748 -- x_individual_owner OUT NOCOPY NUMBER,
749 -- x_group_owner OUT NOCOPY NUMBER,
750 -- x_individual_type OUT NOCOPY VARCHAR2
751 )
752 IS
753
754 -- changed the version from 3.0 to 4.0 anmukher aug 08 2003
755
756 l_api_version CONSTANT NUMBER := 4.0;
757 l_api_name CONSTANT VARCHAR2(30) := 'Create_ServiceRequest';
758 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
759 l_log_module CONSTANT VARCHAR2(255) := 'cs.plsql.' || l_api_name_full || '.';
760 l_resp_appl_id NUMBER := p_resp_appl_id;
761 l_resp_id NUMBER := p_resp_id;
762 l_user_id NUMBER := p_user_id;
763 l_login_id NUMBER := p_login_id;
764 l_org_id NUMBER := p_org_id;
765
766 l_request_id NUMBER := p_request_id;
767 l_request_number VARCHAR2(64) := p_request_number ;
768
769
770 l_inventory_org_id NUMBER := p_service_request_rec.inventory_org_id;
771 l_return_status VARCHAR2(1);
772 l_request_conv_rec Request_Conversion_Rec_Type;
773 l_inventory_item_segments_tbl FND_FLEX_EXT.SegmentArray;
774 i NUMBER := 0; -- counter
775 l_key_flex_code VARCHAR2(30);
776 l_inventory_item_id NUMBER;
777 l_request_rec cs_servicerequest_pvt.service_request_rec_type;
778 l_note_index BINARY_INTEGER;
779 l_contact_index BINARY_INTEGER;
780 l_notes cs_servicerequest_pvt.notes_table;
781 l_contacts cs_servicerequest_pvt.contacts_table;
782 l_service_request_rec service_request_rec_type DEFAULT p_service_request_rec;
783 l_dummy VARCHAR2(2000);
784 p_passed_value VARCHAR2(3); -- 2757488
785
786 --siahmed for bug invocation_mode
787 l_invocation_mode VARCHAR2(51);
788
789 -- Added for making call to private Create API which uses the private rec type -- anmukher -- 08/13/03
790 l_sr_create_out_rec CS_ServiceRequest_PVT.sr_create_out_rec_type;
791
792 --------------------------------------------------------------------------
793 -- Local Procedure Default_Request_Attributes
794 -- Description:
795 -- Default missing attributes that are in the Service Request record.
796 -- If the parameter is not passed (i.e. its value is the corresponding
797 -- constant defined to represent missing parameters), then the default
798 -- value for that attribute is returned; otherwise, the passed value is
799 -- returned.
800 -- For service requests that are entered via the Internet, four special
801 -- profile options are used: 'CS_DEFAULT_WEB_INC_ASSIGNEE',
802 -- 'CS_DEFAULT_WEB_INC_TYPE', 'CS_DEFAULT_WEB_INC_SEVERITY', and
803 -- 'CS_DEFAULT_WEB_INC_URGENCY'.
804 -- Notes:
805 -- No defaulting will be performed if the passed value is NULL
806 -- (as opposed to FND_API.G_MISS_NUM).
807 -- If the profile option returns NULL, the parameters are reset back to
808 -- FND_API.G_MISS_... because we want to distinguish between NULL
809 -- parameters and missing parameters.
810 --------------------------------------------------------------------------
811 PROCEDURE Default_Request_Attributes
812 ( p_resp_appl_id IN NUMBER := NULL,
813 p_resp_id IN NUMBER := NULL,
814 p_user_id IN NUMBER := NULL,
815 x_request_rec IN OUT NOCOPY cs_servicerequest_pvt.service_request_rec_type
816 )
817 IS
818 BEGIN
819 IF (x_request_rec.request_date = FND_API.G_MISS_DATE) THEN
820 x_request_rec.request_date := SYSDATE;
821 END IF;
822
823 IF (x_request_rec.type_id = FND_API.G_MISS_NUM) THEN
824 IF (NVL(x_request_rec.sr_creation_channel,'XXX') = 'WEB') THEN
825 FND_PROFILE.Get('CS_DEFAULT_WEB_INC_TYPE', x_request_rec.type_id);
826
827 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
828 THEN
829 FND_LOG.String
830 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
831 , 'The Value of profile CS_DEFAULT_WEB_INC_TYPE :' || x_request_rec.type_id
832 );
833 END IF;
834 ELSE
835 FND_PROFILE.Get('INC_DEFAULT_INCIDENT_TYPE', x_request_rec.type_id);
836
837 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
838 THEN
839 FND_LOG.String
840 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
841 , 'The Value of profile INC_DEFAULT_INCIDENT_TYPE :' || x_request_rec.type_id
842 );
843 END IF;
844 END IF;
845 IF (x_request_rec.type_id IS NULL) THEN
846 x_request_rec.type_id := FND_API.G_MISS_NUM;
847 END IF;
848 END IF;
849
850 IF (x_request_rec.status_id = FND_API.G_MISS_NUM) THEN
851 --x_request_rec.status_id := 1; -- 'Open'
852 -- commented out for bug 12575088 , lkullamb
853 FND_PROFILE.Get('INC_DEFAULT_INCIDENT_STATUS', x_request_rec.status_id);
854 END IF;
855
856 IF (x_request_rec.severity_id = FND_API.G_MISS_NUM) THEN
857 IF (NVL(x_request_rec.sr_creation_channel,'XXX') = 'WEB') THEN
858 FND_PROFILE.Get('CS_DEFAULT_WEB_INC_SEVERITY', x_request_rec.severity_id);
859
860 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
861 THEN
862 FND_LOG.String
863 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
864 , 'The Value of profile CS_DEFAULT_WEB_INC_SEVERITY :' || x_request_rec.severity_id
865 );
866 END IF;
867 ELSE
868 FND_PROFILE.Get('INC_DEFAULT_INCIDENT_SEVERITY', x_request_rec.severity_id);
869
870 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
871 THEN
872 FND_LOG.String
873 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
874 , 'The Value of profile CS_DEFAULT_WEB_INC_SEVERITY :' || x_request_rec.severity_id
875 );
876 END IF;
877 END IF;
878 IF (x_request_rec.severity_id IS NULL) THEN
879 x_request_rec.severity_id := FND_API.G_MISS_NUM;
880 END IF;
881 END IF;
882
883 IF (x_request_rec.urgency_id = FND_API.G_MISS_NUM) THEN
884 IF (NVL(x_request_rec.sr_creation_channel,'XXX') = 'WEB') THEN
885 FND_PROFILE.Get('CS_DEFAULT_WEB_INC_URGENCY', x_request_rec.urgency_id);
886
887 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
888 THEN
889 FND_LOG.String
890 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
891 , 'The Value of profile CS_DEFAULT_WEB_INC_URGENCY :' || x_request_rec.urgency_id
892 );
893 END IF;
894 ELSE
895 FND_PROFILE.Get('INC_DEFAULT_INCIDENT_URGENCY', x_request_rec.urgency_id);
896
897 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
898 THEN
899 FND_LOG.String
900 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
901 , 'The Value of profile INC_DEFAULT_INCIDENT_URGENCY :' || x_request_rec.urgency_id
902 );
903 END IF;
904 END IF;
905 END IF;
906
907 IF (x_request_rec.owner_id = FND_API.G_MISS_NUM) THEN
908 IF (NVL(x_request_rec.sr_creation_channel,'XXX') = 'WEB') THEN
909 FND_PROFILE.Get('CS_DEFAULT_WEB_INC_ASSIGNEE', x_request_rec.owner_id);
910
911 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
912 THEN
913 FND_LOG.String
914 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
915 , 'The Value of profile CS_DEFAULT_WEB_INC_ASSIGNEE :' || x_request_rec.owner_id
916 );
917 END IF;
918 ELSE
919 FND_PROFILE.Get('INC_DEFAULT_INCIDENT_OWNER', x_request_rec.owner_id);
920
921 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
922 THEN
923 FND_LOG.String
924 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
925 , 'The Value of profile INC_DEFAULT_INCIDENT_OWNER :' || x_request_rec.owner_id
926 );
927 END IF;
928 END IF;
929
930 IF (x_request_rec.owner_id IS NULL) THEN
931 x_request_rec.owner_id := FND_API.G_MISS_NUM;
932 END IF;
933 END IF;
934
935 -- For bug 3751875 - defaulting the group owner
936 IF (x_request_rec.owner_group_id = FND_API.G_MISS_NUM) THEN
937 IF (NVL(x_request_rec.sr_creation_channel,'XXX') <> 'WEB') THEN
938 FND_PROFILE.Get('CS_SR_DEFAULT_GROUP_OWNER', x_request_rec.owner_group_id);
939
940 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
941 THEN
942 FND_LOG.String
943 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
944 , 'The Value of profile CS_SR_DEFAULT_GROUP_OWNER :' || x_request_rec.owner_group_id
945 );
946 END IF;
947 END IF;
948 END IF;
949
950 -- Default the group type if not specified
951 -- group type is based on owner group id
952 IF (x_request_rec.group_type = FND_API.G_MISS_CHAR) then
953 IF (x_request_rec.owner_group_id is NOT NULL and
954 x_request_rec.owner_group_id <> FND_API.G_MISS_NUM) then
955 x_request_rec.group_type := nvl( FND_PROFILE.value('CS_SR_DEFAULT_GROUP_TYPE'), 'RS_GROUP');
956
957 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
958 THEN
959 FND_LOG.String
960 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
961 , 'The Value of profile CS_SR_DEFAULT_GROUP_TYPE :' || x_request_rec.group_type
962 );
963 END IF;
964 END IF;
965 END IF;
966
967 -- end of change for bug 3751875
968
969 -- Why default this ?
970 -- Added extra check of IS NOT NULL for bug 2459001
971 /* IF ( x_request_rec.verify_cp_flag <> FND_API.G_MISS_CHAR OR
972 x_request_rec.verify_cp_flag IS NOT NULL ) THEN
973 -- for 2757488 validating the verify_cp_flag
974 IF ( x_request_rec.verify_cp_flag NOT IN ('Y','N')) THEN
975 p_passed_value := x_request_rec.verify_cp_flag;
976 IF (x_request_rec.customer_product_id <> FND_API.G_MISS_NUM) THEN
977 x_request_rec.verify_cp_flag := 'Y';
978 ELSE
979 x_request_rec.verify_cp_flag := 'N';
980 END IF;
981 IF p_passed_value = FND_API.G_MISS_CHAR THEN
982 p_passed_value := NULL;
983 END IF;
984 CS_ServiceRequest_UTIL.Add_Cp_Flag_Ignored_Msg (p_token_an => l_api_name_full,
985 p_token_ip => p_passed_value,
986 p_token_pv => x_request_rec.verify_cp_flag);
987 END IF; */
988
989 -- for bug 3333340
990 p_passed_value := x_request_rec.verify_cp_flag;
991
992 IF (x_request_rec.customer_product_id <> FND_API.G_MISS_NUM) THEN
993 x_request_rec.verify_cp_flag := 'Y';
994 ELSE
995 x_request_rec.verify_cp_flag := 'N';
996 END IF;
997
998 if ( p_passed_value <> FND_API.G_MISS_CHAR) then
999 if ( p_passed_value <> x_request_rec.verify_cp_flag) then
1000 CS_ServiceRequest_UTIL.Add_Cp_Flag_Ignored_Msg (p_token_an => l_api_name_full,
1001 p_token_ip => p_passed_value,
1002 p_token_pv => x_request_rec.verify_cp_flag);
1003 end if;
1004 end if;
1005
1006
1007
1008 END Default_Request_Attributes;
1009
1010 --------------------------------------------------------------------------
1011 -- Local Procedure Validate_Request_Attributes
1012 -- Description:
1013 -- Perform non-business-rule validation on all non-missing and defaulted
1014 -- attributes. Make sure all required parameters are passed in and not
1015 -- null.
1016 --
1017 -- When validation fails, FND_API.G_EXC_ERROR exception is raised to
1018 -- be handled by the API body.
1019 --------------------------------------------------------------------------
1020 PROCEDURE Validate_Request_Attributes
1021 ( p_api_name IN VARCHAR2,
1022 p_request_rec IN cs_servicerequest_pvt.service_request_rec_type
1023 )
1024 IS
1025 --for cmro_eam
1026 l_maintenance_flag VARCHAR2(3);
1027 BEGIN
1028 -- Required parameters are request_date, type_id, status_id,
1029 -- severity_id, owner_id, summary, and the four flags.
1030
1031 IF (p_request_rec.request_date IS NULL) THEN
1032 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(p_api_name, 'SR Request Date');
1033 RAISE FND_API.G_EXC_ERROR;
1034 END IF;
1035
1036 IF (p_request_rec.type_id = FND_API.G_MISS_NUM) THEN
1037 CS_ServiceRequest_UTIL.Add_Missing_Param_Msg(p_api_name, 'SR Type');
1038 RAISE FND_API.G_EXC_ERROR;
1039 ELSIF (p_request_rec.type_id IS NULL) THEN
1040 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(p_api_name, 'SR Type');
1041 RAISE FND_API.G_EXC_ERROR;
1042 END IF;
1043
1044 IF (p_request_rec.status_id IS NULL) THEN
1045 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(p_api_name, 'SR Status');
1046 RAISE FND_API.G_EXC_ERROR;
1047 END IF;
1048
1049 IF (p_request_rec.severity_id = FND_API.G_MISS_NUM) THEN
1050 CS_ServiceRequest_UTIL.Add_Missing_Param_Msg(p_api_name, 'SR Severity');
1051 RAISE FND_API.G_EXC_ERROR;
1052 ELSIF (p_request_rec.severity_id IS NULL) THEN
1053 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(p_api_name, 'SR Severity');
1054 RAISE FND_API.G_EXC_ERROR;
1055 END IF;
1056
1057 -- Summary could have been passed as NULL or FND_MISS_CHAR
1058 IF (p_request_rec.summary IS NULL) OR
1059 (p_request_rec.summary = FND_API.G_MISS_CHAR) THEN
1060
1061 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(p_api_name, 'SR Summary');
1062 RAISE FND_API.G_EXC_ERROR;
1063
1064 END IF;
1065
1066
1067 -- CAller Type could have been passed as NULL or FND_MISS_CHAR
1068 IF (p_request_rec.caller_type IS NULL) OR
1069 (p_request_rec.caller_type = FND_API.G_MISS_CHAR) THEN
1070 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(p_api_name,
1071 'SR Caller Type');
1072 RAISE FND_API.G_EXC_ERROR;
1073 END IF;
1074
1075 IF (p_request_rec.verify_cp_flag IS NULL) THEN
1076 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(p_api_name, 'p_verify_cp_flag');
1077 RAISE FND_API.G_EXC_ERROR;
1078 END IF;
1079
1080 -- for cmro_eam
1081 begin
1082 select maintenance_flag into l_maintenance_flag
1083 from cs_incident_types_b where incident_type_id = p_request_rec.type_id
1084 and incident_subtype=G_SR_SUBTYPE;
1085 exception
1086 when no_data_found then
1087 l_maintenance_flag := NULL;
1088 when others then
1089 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1090 end;
1091 IF (l_maintenance_flag = 'Y' OR l_maintenance_flag = 'y') THEN
1092 IF (p_request_rec.inventory_org_id = FND_API.G_MISS_NUM) THEN
1093 CS_ServiceRequest_UTIL.Add_Missing_Param_Msg(p_api_name, 'Inventory Org ID');
1094 RAISE FND_API.G_EXC_ERROR;
1095 ELSIF (p_request_rec.inventory_org_id IS NULL) THEN
1096 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(p_api_name, 'Inventory Org ID');
1097 RAISE FND_API.G_EXC_ERROR;
1098 END IF;
1099 END IF;
1100 -- end for cmro_eam
1101
1102 END Validate_Request_Attributes;
1103
1104 BEGIN
1105 -- Standard start of API savepoint
1106 SAVEPOINT Create_ServiceRequest_PUB;
1107
1108 --BUG 3630159:
1109 --Added to clear message cache in case of API call wrong version.
1110 -- Initialize message list if p_init_msg_list is set to TRUE
1111 IF FND_API.To_Boolean(p_init_msg_list) THEN
1112 FND_MSG_PUB.Initialize;
1113 END IF;
1114
1115 -- Standard call to check for call compatibility
1116 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
1117 G_PKG_NAME) THEN
1118 -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR; #BUG 3630127
1119 RAISE FND_API.G_EXC_ERROR;
1120 END IF;
1121
1122 -- Initialize API return status to success
1123 x_return_status := FND_API.G_RET_STS_SUCCESS;
1124
1125 ----------------------- FND Logging -----------------------------------
1126 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
1127 THEN
1128 FND_LOG.String
1129 ( FND_LOG.level_procedure , L_LOG_MODULE || 'start'
1130 , 'Inside ' || L_API_NAME_FULL || ', called with parameters below:'
1131 );
1132 FND_LOG.String
1133 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1134 , 'p_api_version:' || p_api_version
1135 );
1136 FND_LOG.String
1137 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1138 , 'p_init_msg_list:' || p_init_msg_list
1139 );
1140 FND_LOG.String
1141 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1142 , 'p_commit:' || p_commit
1143 );
1144 FND_LOG.String
1145 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1146 , 'p_resp_appl_id:' || p_resp_appl_id
1147 );
1148 FND_LOG.String
1149 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1150 , 'p_resp_id:' || p_resp_id
1151 );
1152 FND_LOG.String
1153 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1154 , 'p_user_id:' || p_user_id
1155 );
1156 FND_LOG.String
1157 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1158 , 'p_login_id:' || p_login_id
1159 );
1160 FND_LOG.String
1161 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1162 , 'p_org_id:' || p_org_id
1163 );
1164 FND_LOG.String
1165 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1166 , 'p_request_id:' || p_request_id
1167 );
1168 FND_LOG.String
1169 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1170 , 'p_request_number:' || p_request_number
1171 );
1172 FND_LOG.String
1173 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1174 , 'p_auto_assign:' || p_auto_assign
1175 );
1176 FND_LOG.String
1177 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1178 , 'p_auto_generate_tasks:' || p_auto_generate_tasks
1179 );
1180 FND_LOG.String
1181 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1182 , 'p_default_contract_sla_ind:' || p_default_contract_sla_ind
1183 );
1184 FND_LOG.String
1185 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1186 , 'p_default_coverage_template_id:' || p_default_coverage_template_id
1187 );
1188
1189 -- --------------------------------------------------------------------------
1190 -- This procedure Logs the record paramters of SR and NOTES, CONTACTS tables.
1191 -- --------------------------------------------------------------------------
1192 Log_SR_PUB_Parameters
1193 ( p_service_request_rec => p_service_request_rec
1194 , p_notes => p_notes
1195 , p_contacts => p_contacts
1196 );
1197
1198 END IF;
1199
1200 IF l_service_request_rec.item_serial_number <> FND_API.G_MISS_CHAR
1201 THEN
1202 FND_MESSAGE.set_name ('CS', 'CS_SR_ITEM_SERIAL_OBSOLETE');
1203 FND_MESSAGE.set_token
1204 ( 'API_NAME'
1205 , 'CS_SERVICEREQUEST_PUB.create_servicerequest'
1206 );
1207 FND_MSG_PUB.ADD_DETAIL
1208 ( p_associated_column1 => 'CS_INCIDENTS_ALL_B.ITEM_SERIAL_NUMBER'
1209 );
1210 RAISE FND_API.G_EXC_ERROR;
1211 END IF;
1212 -- ------------------------------------------------------------------
1213 -- Default non-database attributes.
1214 -- This step is done because subsequent steps depend on these values.
1215 -- ------------------------------------------------------------------
1216 Default_Other_Attributes
1217 ( p_api_name => l_api_name_full,
1218 p_resp_appl_id => l_resp_appl_id,
1219 p_resp_id => l_resp_id,
1220 p_user_id => l_user_id,
1221 p_login_id => l_login_id,
1222 p_org_id => l_org_id,
1223 p_inventory_org_id => l_inventory_org_id,
1224 p_return_status => l_return_status
1225 );
1226 -- If any errors happen abort API.
1227 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1228 RAISE FND_API.G_EXC_ERROR;
1229 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1230 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1231 END IF;
1232
1233 -- ------------------------
1234 -- Convert values into IDs.
1235 -- ------------------------
1236 l_request_conv_rec.type_id := l_service_request_rec.type_id;
1237 l_request_conv_rec.type_name := SUBSTRB(l_service_request_rec.type_name,1,30);
1238 l_request_conv_rec.status_id := l_service_request_rec.status_id;
1239 l_request_conv_rec.status_name := SUBSTRB(l_service_request_rec.status_name,1,30);
1240 l_request_conv_rec.severity_id := l_service_request_rec.severity_id;
1241 l_request_conv_rec.severity_name:= SUBSTRB(l_service_request_rec.severity_name, 1, 30);
1242 l_request_conv_rec.urgency_id := l_service_request_rec.urgency_id;
1243 l_request_conv_rec.urgency_name := SUBSTRB(l_service_request_rec.urgency_name, 1, 30);
1244 l_request_conv_rec.publish_flag := SUBSTRB(l_service_request_rec.publish_flag, 1, 1);
1245 l_request_conv_rec.caller_type := l_service_request_rec.caller_type;
1246 l_request_conv_rec.employee_id := l_service_request_rec.employee_id;
1247 l_request_conv_rec.employee_number := l_service_request_rec.employee_number;
1248 l_request_conv_rec.verify_cp_flag := SUBSTRB(l_service_request_rec.verify_cp_flag, 1, 1);
1249 l_request_conv_rec.customer_product_id := l_service_request_rec.customer_product_id;
1250 l_request_conv_rec.cp_ref_number := l_service_request_rec.cp_ref_number;
1251
1252 Convert_Request_Val_To_ID
1253 ( p_api_name => l_api_name_full,
1254 p_org_id => l_org_id,
1255 p_request_conv_rec => l_request_conv_rec,
1256 p_return_status => l_return_status
1257 );
1258 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1259 RAISE FND_API.G_EXC_ERROR;
1260 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1261 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1262 END IF;
1263
1264 -- For Notes
1265 l_note_index := p_notes.FIRST;
1266 WHILE l_note_index IS NOT NULL LOOP
1267 l_notes(l_note_index).note := p_notes(l_note_index).note;
1268 l_notes(l_note_index).note_detail := p_notes(l_note_index).note_detail;
1269 l_notes(l_note_index).note_type := p_notes(l_note_index).note_type;
1270 l_notes(l_note_index).note_context_type_01 := p_notes(l_note_index).note_context_type_01;
1271 l_notes(l_note_index).note_context_type_id_01 := p_notes(l_note_index).note_context_type_id_01;
1272 l_notes(l_note_index).note_context_type_02 := p_notes(l_note_index).note_context_type_02;
1273 l_notes(l_note_index).note_context_type_id_02 := p_notes(l_note_index).note_context_type_id_02;
1274 l_notes(l_note_index).note_context_type_03 := p_notes(l_note_index).note_context_type_03;
1275 l_notes(l_note_index).note_context_type_id_03 := p_notes(l_note_index).note_context_type_id_03;
1276 l_note_index := p_notes.NEXT(l_note_index);
1277 END LOOP;
1278
1279 -- For Contacts
1280 l_contact_index := p_contacts.FIRST;
1281 WHILE l_contact_index IS NOT NULL LOOP
1282 l_contacts(l_contact_index).sr_contact_point_id := p_contacts(l_contact_index).sr_contact_point_id;
1283 l_contacts(l_contact_index).party_id := p_contacts(l_contact_index).party_id;
1284 l_contacts(l_contact_index).contact_point_id := p_contacts(l_contact_index).contact_point_id;
1285 l_contacts(l_contact_index).contact_point_type := p_contacts(l_contact_index).contact_point_type;
1286 l_contacts(l_contact_index).primary_flag := p_contacts(l_contact_index).primary_flag;
1287 l_contacts(l_contact_index).contact_type := p_contacts(l_contact_index).contact_type;
1288 l_contacts(l_contact_index).party_role_code := p_contacts(l_contact_index).party_role_code;
1289 l_contacts(l_contact_index).start_date_active := p_contacts(l_contact_index).start_date_active;
1290 l_contacts(l_contact_index).end_date_active := p_contacts(l_contact_index).end_date_active;
1291
1292 l_contact_index := p_contacts.NEXT(l_contact_index);
1293 END LOOP;
1294
1295 -- ---------------------------------------
1296 -- Convert Key flexfield segments into ID.
1297 -- ---------------------------------------
1298
1299 /**************************************************************
1300 * Some notes on the System Items (Item Flexfield): *
1301 * Owner : Oracle Inventory *
1302 * Flexfield Code : MSTK *
1303 * Table Name : MTL_SYSTEM_ITEMS *
1304 * Number of Columns : 20 *
1305 * Width of Columns : 40 *
1306 * Dynamic Inserts Possible : No *
1307 * Unique ID Column : INVENTORY_ITEM_ID *
1308 * Structure Column : ORGANIZATION_ID *
1309 * The System Items Flexfield supports only one structure *
1310 * (default value is 101). AOL stores the set number in the *
1311 * structure defining column instead of the structure number, *
1312 * that's why the inventory org ID must be passed. *
1313 **************************************************************/
1314 IF ((l_service_request_rec.inventory_item_segment1 <> FND_API.G_MISS_CHAR) OR
1315 (l_service_request_rec.inventory_item_segment1 IS NULL)) THEN
1316 i := i + 1;
1317 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment1;
1318 END IF;
1319 IF ((l_service_request_rec.inventory_item_segment2 <> FND_API.G_MISS_CHAR) OR
1320 (l_service_request_rec.inventory_item_segment2 IS NULL)) THEN
1321 i := i + 1;
1322 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment2;
1323 END IF;
1324 IF ((l_service_request_rec.inventory_item_segment3 <> FND_API.G_MISS_CHAR) OR
1325 (l_service_request_rec.inventory_item_segment3 IS NULL)) THEN
1326 i := i + 1;
1327 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment3;
1328 END IF;
1329 IF ((l_service_request_rec.inventory_item_segment4 <> FND_API.G_MISS_CHAR) OR
1330 (l_service_request_rec.inventory_item_segment4 IS NULL)) THEN
1331 i := i + 1;
1332 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment4;
1333 END IF;
1334 IF ((l_service_request_rec.inventory_item_segment5 <> FND_API.G_MISS_CHAR) OR
1335 (l_service_request_rec.inventory_item_segment5 IS NULL)) THEN
1336 i := i + 1;
1337 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment5;
1338 END IF;
1339 IF ((l_service_request_rec.inventory_item_segment6 <> FND_API.G_MISS_CHAR) OR
1340 (l_service_request_rec.inventory_item_segment6 IS NULL)) THEN
1341 i := i + 1;
1342 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment6;
1343 END IF;
1344 IF ((l_service_request_rec.inventory_item_segment7 <> FND_API.G_MISS_CHAR) OR
1345 (l_service_request_rec.inventory_item_segment7 IS NULL)) THEN
1346 i := i + 1;
1347 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment7;
1348 END IF;
1349 IF ((l_service_request_rec.inventory_item_segment8 <> FND_API.G_MISS_CHAR) OR
1350 (l_service_request_rec.inventory_item_segment8 IS NULL)) THEN
1351 i := i + 1;
1352 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment8;
1353 END IF;
1354 IF ((l_service_request_rec.inventory_item_segment9 <> FND_API.G_MISS_CHAR) OR
1355 (l_service_request_rec.inventory_item_segment9 IS NULL)) THEN
1356 i := i + 1;
1357 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment9;
1358 END IF;
1359 IF ((l_service_request_rec.inventory_item_segment10 <> FND_API.G_MISS_CHAR) OR
1360 (l_service_request_rec.inventory_item_segment10 IS NULL)) THEN
1361 i := i + 1;
1362 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment10;
1363 END IF;
1364 IF ((l_service_request_rec.inventory_item_segment11 <> FND_API.G_MISS_CHAR) OR
1365 (l_service_request_rec.inventory_item_segment11 IS NULL)) THEN
1366 i := i + 1;
1367 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment11;
1368 END IF;
1369 IF ((l_service_request_rec.inventory_item_segment12 <> FND_API.G_MISS_CHAR) OR
1370 (l_service_request_rec.inventory_item_segment12 IS NULL)) THEN
1371 i := i + 1;
1372 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment12;
1373 END IF;
1374 IF ((l_service_request_rec.inventory_item_segment13 <> FND_API.G_MISS_CHAR) OR
1375 (l_service_request_rec.inventory_item_segment13 IS NULL)) THEN
1376 i := i + 1;
1377 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment13;
1378 END IF;
1379 IF ((l_service_request_rec.inventory_item_segment14 <> FND_API.G_MISS_CHAR) OR
1380 (l_service_request_rec.inventory_item_segment14 IS NULL)) THEN
1381 i := i + 1;
1382 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment14;
1383 END IF;
1384 IF ((l_service_request_rec.inventory_item_segment15 <> FND_API.G_MISS_CHAR) OR
1385 (l_service_request_rec.inventory_item_segment15 IS NULL)) THEN
1386 i := i + 1;
1387 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment15;
1388 END IF;
1389 IF ((l_service_request_rec.inventory_item_segment16 <> FND_API.G_MISS_CHAR) OR
1390 (l_service_request_rec.inventory_item_segment16 IS NULL)) THEN
1391 i := i + 1;
1392 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment16;
1393 END IF;
1394 IF ((l_service_request_rec.inventory_item_segment17 <> FND_API.G_MISS_CHAR) OR
1395 (l_service_request_rec.inventory_item_segment17 IS NULL)) THEN
1396 i := i + 1;
1397 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment17;
1398 END IF;
1399 IF ((l_service_request_rec.inventory_item_segment18 <> FND_API.G_MISS_CHAR) OR
1400 (l_service_request_rec.inventory_item_segment18 IS NULL)) THEN
1401 i := i + 1;
1402 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment18;
1403 END IF;
1404 IF ((l_service_request_rec.inventory_item_segment19 <> FND_API.G_MISS_CHAR) OR
1405 (l_service_request_rec.inventory_item_segment19 IS NULL)) THEN
1406 i := i + 1;
1407 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment19;
1408 END IF;
1409 IF ((l_service_request_rec.inventory_item_segment20 <> FND_API.G_MISS_CHAR) OR
1410 (l_service_request_rec.inventory_item_segment20 IS NULL)) THEN
1411 i := i + 1;
1412 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment20;
1413 END IF;
1414
1415 FND_PROFILE.Get('CS_ID_FLEX_CODE', l_key_flex_code);
1416
1417 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
1418 THEN
1419 FND_LOG.String
1420 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1421 , 'The Value of profile CS_ID_FLEX_CODE :' || l_key_flex_code
1422 );
1423 END IF;
1424
1425 IF (l_key_flex_code IS NULL) THEN
1426 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1427 FND_MESSAGE.Set_Name('FND', 'PROFILES-CANNOT READ');
1428 FND_MESSAGE.Set_Token('OPTION', 'CS_ID_FLEX_CODE');
1429 FND_MESSAGE.Set_Token('ROUTINE', l_api_name_full);
1430 FND_MSG_PUB.Add;
1431 END IF;
1432 RAISE FND_API.G_EXC_ERROR;
1433 END IF;
1434
1435 Convert_Key_Flex_To_ID
1436 ( p_api_name => l_api_name_full,
1437 p_application_short_name => 'INV',
1438 p_key_flex_code => l_key_flex_code,
1439 p_structure_number => 101,
1440 p_attribute_id => l_service_request_rec.inventory_item_id,
1441 p_attribute_conc_segs => l_service_request_rec.inventory_item_conc_segs,
1442 p_attribute_segments_tbl => l_inventory_item_segments_tbl,
1443 p_attribute_n_segments => i,
1444 p_attribute_vals_or_ids => l_service_request_rec.inventory_item_vals_or_ids,
1445 p_data_set => l_inventory_org_id,
1446 p_resp_appl_id => l_resp_appl_id,
1447 p_resp_id => l_resp_id,
1448 p_user_id => l_user_id,
1449 p_attribute_id_out => l_inventory_item_id,
1450 p_return_status => l_return_status
1451 );
1452 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1453 RAISE FND_API.G_EXC_ERROR;
1454 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1455 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1456 END IF;
1457
1458 -- ----------------------------------------
1459 -- Validate descriptive flexfield segments.
1460 -- ----------------------------------------
1461 -- this part of the code was not there
1462 --
1463 -- Validate the descriptive flexfields
1464 --
1465 IF NOT (( l_service_request_rec.request_context = FND_API.G_MISS_CHAR) AND
1466 ( l_service_request_rec.request_attribute_1 = FND_API.G_MISS_CHAR) AND
1467 ( l_service_request_rec.request_attribute_2 = FND_API.G_MISS_CHAR) AND
1468 ( l_service_request_rec.request_attribute_3 = FND_API.G_MISS_CHAR) AND
1469 ( l_service_request_rec.request_attribute_4 = FND_API.G_MISS_CHAR) AND
1470 ( l_service_request_rec.request_attribute_5 = FND_API.G_MISS_CHAR) AND
1471 ( l_service_request_rec.request_attribute_6 = FND_API.G_MISS_CHAR) AND
1472 ( l_service_request_rec.request_attribute_7 = FND_API.G_MISS_CHAR) AND
1473 ( l_service_request_rec.request_attribute_8 = FND_API.G_MISS_CHAR) AND
1474 ( l_service_request_rec.request_attribute_9 = FND_API.G_MISS_CHAR) AND
1475 ( l_service_request_rec.request_attribute_10 = FND_API.G_MISS_CHAR) AND
1476 ( l_service_request_rec.request_attribute_11 = FND_API.G_MISS_CHAR) AND
1477 ( l_service_request_rec.request_attribute_12 = FND_API.G_MISS_CHAR) AND
1478 ( l_service_request_rec.request_attribute_13 = FND_API.G_MISS_CHAR) AND
1479 ( l_service_request_rec.request_attribute_14 = FND_API.G_MISS_CHAR) AND
1480 ( l_service_request_rec.request_attribute_15 = FND_API.G_MISS_CHAR) ) THEN
1481
1482 IF (l_service_request_rec.request_context = FND_API.G_MISS_CHAR) THEN
1483 l_service_request_rec.request_context := NULL;
1484 END IF;
1485 IF (l_service_request_rec.request_attribute_1 = FND_API.G_MISS_CHAR) THEN
1486 l_service_request_rec.request_attribute_1 := NULL;
1487 END IF;
1488 IF (l_service_request_rec.request_attribute_2 = FND_API.G_MISS_CHAR) THEN
1489 l_service_request_rec.request_attribute_2 := NULL;
1490 END IF;
1491 IF (l_service_request_rec.request_attribute_3 = FND_API.G_MISS_CHAR) THEN
1492 l_service_request_rec.request_attribute_3 := NULL;
1493 END IF;
1494 IF (l_service_request_rec.request_attribute_4 = FND_API.G_MISS_CHAR) THEN
1495 l_service_request_rec.request_attribute_4 := NULL;
1496 END IF;
1497 IF (l_service_request_rec.request_attribute_5 = FND_API.G_MISS_CHAR) THEN
1498 l_service_request_rec.request_attribute_5 := NULL;
1499 END IF;
1500 IF (l_service_request_rec.request_attribute_6 = FND_API.G_MISS_CHAR) THEN
1501 l_service_request_rec.request_attribute_6 := NULL;
1502 END IF;
1503 IF (l_service_request_rec.request_attribute_7 = FND_API.G_MISS_CHAR) THEN
1504 l_service_request_rec.request_attribute_7 := NULL;
1505 END IF;
1506 IF (l_service_request_rec.request_attribute_8 = FND_API.G_MISS_CHAR) THEN
1507 l_service_request_rec.request_attribute_8 := NULL;
1508 END IF;
1509 IF (l_service_request_rec.request_attribute_9 = FND_API.G_MISS_CHAR) THEN
1510 l_service_request_rec.request_attribute_9 := NULL;
1511 END IF;
1512 IF (l_service_request_rec.request_attribute_10 = FND_API.G_MISS_CHAR) THEN
1513 l_service_request_rec.request_attribute_10 := NULL;
1514 END IF;
1515 IF (l_service_request_rec.request_attribute_11 = FND_API.G_MISS_CHAR) THEN
1516 l_service_request_rec.request_attribute_11 := NULL;
1517 END IF;
1518 IF (l_service_request_rec.request_attribute_12 = FND_API.G_MISS_CHAR) THEN
1519 l_service_request_rec.request_attribute_12 := NULL;
1520 END IF;
1521 IF (l_service_request_rec.request_attribute_13 = FND_API.G_MISS_CHAR) THEN
1522 l_service_request_rec.request_attribute_13 := NULL;
1523 END IF;
1524 IF (l_service_request_rec.request_attribute_14 = FND_API.G_MISS_CHAR) THEN
1525 l_service_request_rec.request_attribute_14 := NULL;
1526 END IF;
1527 IF (l_service_request_rec.request_attribute_15 = FND_API.G_MISS_CHAR) THEN
1528 l_service_request_rec.request_attribute_15 := NULL;
1529 END IF;
1530
1531
1532 Cs_ServiceRequest_Util.Validate_Desc_Flex
1533 ( p_api_name => l_api_name_full,
1534 p_application_short_name => 'CS',
1535 p_desc_flex_name => 'CS_INCIDENTS_ALL_B',
1536 p_desc_segment1 => l_service_request_rec.request_attribute_1,
1537 p_desc_segment2 => l_service_request_rec.request_attribute_2,
1538 p_desc_segment3 => l_service_request_rec.request_attribute_3,
1539 p_desc_segment4 => l_service_request_rec.request_attribute_4,
1540 p_desc_segment5 => l_service_request_rec.request_attribute_5,
1541 p_desc_segment6 => l_service_request_rec.request_attribute_6,
1542 p_desc_segment7 => l_service_request_rec.request_attribute_7,
1543 p_desc_segment8 => l_service_request_rec.request_attribute_8,
1544 p_desc_segment9 => l_service_request_rec.request_attribute_9,
1545 p_desc_segment10 => l_service_request_rec.request_attribute_10,
1546 p_desc_segment11 => l_service_request_rec.request_attribute_11,
1547 p_desc_segment12 => l_service_request_rec.request_attribute_12,
1548 p_desc_segment13 => l_service_request_rec.request_attribute_13,
1549 p_desc_segment14 => l_service_request_rec.request_attribute_14,
1550 p_desc_segment15 => l_service_request_rec.request_attribute_15,
1551 p_desc_context => l_service_request_rec.request_context,
1552 p_resp_appl_id => l_resp_appl_id,
1553 p_resp_id => l_resp_id,
1554 p_return_status => l_return_status
1555 );
1556
1557 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1558 RAISE FND_API.G_EXC_ERROR;
1559 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1560 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1561 END IF;
1562
1563 END IF;
1564
1565 -- -------------------------------------------------------------------
1566 -- Validate the external descriptive flexfield segments.
1567 -- For ER# 2501166 added these external attributes date 1st oct 2002
1568 -- -------------------------------------------------------------------
1569 -- this part of the code was not there
1570 --
1571 -- Validate the external descriptive flexfields
1572 --
1573 IF NOT (( l_service_request_rec.external_context = FND_API.G_MISS_CHAR) AND
1574 ( l_service_request_rec.external_attribute_1 = FND_API.G_MISS_CHAR) AND
1575 ( l_service_request_rec.external_attribute_2 = FND_API.G_MISS_CHAR) AND
1576 ( l_service_request_rec.external_attribute_3 = FND_API.G_MISS_CHAR) AND
1577 ( l_service_request_rec.external_attribute_4 = FND_API.G_MISS_CHAR) AND
1578 ( l_service_request_rec.external_attribute_5 = FND_API.G_MISS_CHAR) AND
1579 ( l_service_request_rec.external_attribute_6 = FND_API.G_MISS_CHAR) AND
1580 ( l_service_request_rec.external_attribute_7 = FND_API.G_MISS_CHAR) AND
1581 ( l_service_request_rec.external_attribute_8 = FND_API.G_MISS_CHAR) AND
1582 ( l_service_request_rec.external_attribute_9 = FND_API.G_MISS_CHAR) AND
1583 ( l_service_request_rec.external_attribute_10 = FND_API.G_MISS_CHAR) AND
1584 ( l_service_request_rec.external_attribute_11 = FND_API.G_MISS_CHAR) AND
1585 ( l_service_request_rec.external_attribute_12 = FND_API.G_MISS_CHAR) AND
1586 ( l_service_request_rec.external_attribute_13 = FND_API.G_MISS_CHAR) AND
1587 ( l_service_request_rec.external_attribute_14 = FND_API.G_MISS_CHAR) AND
1588 ( l_service_request_rec.external_attribute_15 = FND_API.G_MISS_CHAR) ) THEN
1589
1590 IF (l_service_request_rec.external_context = FND_API.G_MISS_CHAR) THEN
1591 l_service_request_rec.external_context := NULL;
1592 END IF;
1593 IF (l_service_request_rec.external_attribute_1 = FND_API.G_MISS_CHAR) THEN
1594 l_service_request_rec.external_attribute_1 := NULL;
1595 END IF;
1596 IF (l_service_request_rec.external_attribute_2 = FND_API.G_MISS_CHAR) THEN
1597 l_service_request_rec.external_attribute_2 := NULL;
1598 END IF;
1599 IF (l_service_request_rec.external_attribute_3 = FND_API.G_MISS_CHAR) THEN
1600 l_service_request_rec.external_attribute_3 := NULL;
1601 END IF;
1602 IF (l_service_request_rec.external_attribute_4 = FND_API.G_MISS_CHAR) THEN
1603 l_service_request_rec.external_attribute_4 := NULL;
1604 END IF;
1605 IF (l_service_request_rec.external_attribute_5 = FND_API.G_MISS_CHAR) THEN
1606 l_service_request_rec.external_attribute_5 := NULL;
1607 END IF;
1608 IF (l_service_request_rec.external_attribute_6 = FND_API.G_MISS_CHAR) THEN
1609 l_service_request_rec.external_attribute_6 := NULL;
1610 END IF;
1611 IF (l_service_request_rec.external_attribute_7 = FND_API.G_MISS_CHAR) THEN
1612 l_service_request_rec.external_attribute_7 := NULL;
1613 END IF;
1614 IF (l_service_request_rec.external_attribute_8 = FND_API.G_MISS_CHAR) THEN
1615 l_service_request_rec.external_attribute_8 := NULL;
1616 END IF;
1617 IF (l_service_request_rec.external_attribute_9 = FND_API.G_MISS_CHAR) THEN
1618 l_service_request_rec.external_attribute_9 := NULL;
1619 END IF;
1620 IF (l_service_request_rec.external_attribute_10 = FND_API.G_MISS_CHAR) THEN
1621 l_service_request_rec.external_attribute_10 := NULL;
1622 END IF;
1623 IF (l_service_request_rec.external_attribute_11 = FND_API.G_MISS_CHAR) THEN
1624 l_service_request_rec.external_attribute_11 := NULL;
1625 END IF;
1626 IF (l_service_request_rec.external_attribute_12 = FND_API.G_MISS_CHAR) THEN
1627 l_service_request_rec.external_attribute_12 := NULL;
1628 END IF;
1629 IF (l_service_request_rec.external_attribute_13 = FND_API.G_MISS_CHAR) THEN
1630 l_service_request_rec.external_attribute_13 := NULL;
1631 END IF;
1632 IF (l_service_request_rec.external_attribute_14 = FND_API.G_MISS_CHAR) THEN
1633 l_service_request_rec.external_attribute_14 := NULL;
1634 END IF;
1635 IF (l_service_request_rec.external_attribute_15 = FND_API.G_MISS_CHAR) THEN
1636 l_service_request_rec.external_attribute_15 := NULL;
1637 END IF;
1638
1639 /************ Changed this call to CS_ServiceRequest_UTIL.Validate_External_Desc_Flex
1640 Bug # 5216510.
1641
1642 Validate_external_Desc_Flex
1643 ( p_api_name => l_api_name_full,
1644 p_application_short_name => 'CS',
1645 p_ext_desc_flex_name => 'CS_INCIDENTS_ALL_B_EXT',
1646 p_ext_desc_segment1 => l_service_request_rec.external_attribute_1,
1647 p_ext_desc_segment2 => l_service_request_rec.external_attribute_2,
1648 p_ext_desc_segment3 => l_service_request_rec.external_attribute_3,
1649 p_ext_desc_segment4 => l_service_request_rec.external_attribute_4,
1650 p_ext_desc_segment5 => l_service_request_rec.external_attribute_5,
1651 p_ext_desc_segment6 => l_service_request_rec.external_attribute_6,
1652 p_ext_desc_segment7 => l_service_request_rec.external_attribute_7,
1653 p_ext_desc_segment8 => l_service_request_rec.external_attribute_8,
1654 p_ext_desc_segment9 => l_service_request_rec.external_attribute_9,
1655 p_ext_desc_segment10 => l_service_request_rec.external_attribute_10,
1656 p_ext_desc_segment11 => l_service_request_rec.external_attribute_11,
1657 p_ext_desc_segment12 => l_service_request_rec.external_attribute_12,
1658 p_ext_desc_segment13 => l_service_request_rec.external_attribute_13,
1659 p_ext_desc_segment14 => l_service_request_rec.external_attribute_14,
1660 p_ext_desc_segment15 => l_service_request_rec.external_attribute_15,
1661 p_ext_desc_context => l_service_request_rec.external_context,
1662 p_resp_appl_id => l_resp_appl_id,
1663 p_resp_id => l_resp_id,
1664 p_return_status => l_return_status
1665 );
1666 *******************************************************************************/
1667
1668 Cs_ServiceRequest_Util.Validate_external_Desc_Flex
1669 ( p_api_name => l_api_name_full,
1670 p_application_short_name => 'CS',
1671 p_ext_desc_flex_name => 'CS_INCIDENTS_ALL_B_EXT',
1672 p_ext_desc_segment1 => l_service_request_rec.external_attribute_1,
1673 p_ext_desc_segment2 => l_service_request_rec.external_attribute_2,
1674 p_ext_desc_segment3 => l_service_request_rec.external_attribute_3,
1675 p_ext_desc_segment4 => l_service_request_rec.external_attribute_4,
1676 p_ext_desc_segment5 => l_service_request_rec.external_attribute_5,
1677 p_ext_desc_segment6 => l_service_request_rec.external_attribute_6,
1678 p_ext_desc_segment7 => l_service_request_rec.external_attribute_7,
1679 p_ext_desc_segment8 => l_service_request_rec.external_attribute_8,
1680 p_ext_desc_segment9 => l_service_request_rec.external_attribute_9,
1681 p_ext_desc_segment10 => l_service_request_rec.external_attribute_10,
1682 p_ext_desc_segment11 => l_service_request_rec.external_attribute_11,
1683 p_ext_desc_segment12 => l_service_request_rec.external_attribute_12,
1684 p_ext_desc_segment13 => l_service_request_rec.external_attribute_13,
1685 p_ext_desc_segment14 => l_service_request_rec.external_attribute_14,
1686 p_ext_desc_segment15 => l_service_request_rec.external_attribute_15,
1687 p_ext_desc_context => l_service_request_rec.external_context,
1688 p_resp_appl_id => l_resp_appl_id,
1689 p_resp_id => l_resp_id,
1690 p_return_status => l_return_status);
1691
1692
1693 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1694 RAISE FND_API.G_EXC_ERROR;
1695 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1696 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1697 END IF;
1698
1699 END IF;
1700
1701 -- -----------------------------------------
1702 -- Populate the l_request_rec record fields.
1703 -- -----------------------------------------
1704 CS_ServiceRequest_PVT.initialize_rec(l_request_rec);
1705 l_request_rec.request_date := l_service_request_rec.request_date;
1706 l_request_rec.type_id := l_request_conv_rec.type_id;
1707 l_request_rec.status_id := l_request_conv_rec.status_id;
1708 l_request_rec.severity_id := l_request_conv_rec.severity_id;
1709 l_request_rec.urgency_id := l_request_conv_rec.urgency_id;
1710 l_request_rec.closed_date := l_service_request_rec.closed_date;
1711 l_request_rec.owner_id := l_service_request_rec.owner_id;
1712 l_request_rec.owner_group_id := l_service_request_rec.owner_group_id;
1713 l_request_rec.publish_flag := l_request_conv_rec.publish_flag;
1714 l_request_rec.summary := l_service_request_rec.summary;
1715 l_request_rec.caller_type := l_service_request_rec.caller_type;
1716 l_request_rec.customer_id := l_service_request_rec.customer_id;
1717 l_request_rec.customer_number := l_service_request_rec.customer_number;
1718 l_request_rec.employee_id := l_request_conv_rec.employee_id;
1719 l_request_rec.verify_cp_flag := l_request_conv_rec.verify_cp_flag;
1720 l_request_rec.customer_product_id := l_request_conv_rec.customer_product_id;
1721 l_request_rec.platform_id := l_service_request_rec.platform_id;
1722 l_request_rec.platform_version := l_service_request_rec.platform_version;
1723 l_request_rec.db_version := l_service_request_rec.db_version;
1724 l_request_rec.platform_version_id := l_service_request_rec.platform_version_id;
1725 l_request_rec.cp_component_id := l_service_request_rec.cp_component_id;
1726 l_request_rec.cp_component_version_id := l_service_request_rec.cp_component_version_id;
1727 l_request_rec.cp_subcomponent_id := l_service_request_rec.cp_subcomponent_id;
1728 l_request_rec.cp_subcomponent_version_id := l_service_request_rec.cp_subcomponent_version_id;
1729 l_request_rec.language_id := l_service_request_rec.language_id;
1730 l_request_rec.language := l_service_request_rec.language;
1731 l_request_rec.inventory_item_id := l_inventory_item_id;
1732 l_request_rec.inventory_org_id := l_inventory_org_id;
1733 l_request_rec.current_serial_number := l_service_request_rec.current_serial_number;
1734 l_request_rec.original_order_number := l_service_request_rec.original_order_number;
1735 l_request_rec.purchase_order_num := l_service_request_rec.purchase_order_num;
1736 l_request_rec.problem_code := l_service_request_rec.problem_code;
1737 l_request_rec.exp_resolution_date := l_service_request_rec.exp_resolution_date;
1738 l_request_rec.install_site_use_id := l_service_request_rec.install_site_use_id;
1739 l_request_rec.request_attribute_1 := l_service_request_rec.request_attribute_1;
1740 l_request_rec.request_attribute_2 := l_service_request_rec.request_attribute_2;
1741 l_request_rec.request_attribute_3 := l_service_request_rec.request_attribute_3;
1742 l_request_rec.request_attribute_4 := l_service_request_rec.request_attribute_4;
1743 l_request_rec.request_attribute_5 := l_service_request_rec.request_attribute_5;
1744 l_request_rec.request_attribute_6 := l_service_request_rec.request_attribute_6;
1745 l_request_rec.request_attribute_7 := l_service_request_rec.request_attribute_7;
1746 l_request_rec.request_attribute_8 := l_service_request_rec.request_attribute_8;
1747 l_request_rec.request_attribute_9 := l_service_request_rec.request_attribute_9;
1748 l_request_rec.request_attribute_10 := l_service_request_rec.request_attribute_10;
1749 l_request_rec.request_attribute_11 := l_service_request_rec.request_attribute_11;
1750 l_request_rec.request_attribute_12 := l_service_request_rec.request_attribute_12;
1751 l_request_rec.request_attribute_13 := l_service_request_rec.request_attribute_13;
1752 l_request_rec.request_attribute_14 := l_service_request_rec.request_attribute_14;
1753 l_request_rec.request_attribute_15 := l_service_request_rec.request_attribute_15;
1754 l_request_rec.request_context := l_service_request_rec.request_context;
1755 l_request_rec.bill_to_site_use_id := l_service_request_rec.bill_to_site_use_id;
1756 l_request_rec.bill_to_contact_id := l_service_request_rec.bill_to_contact_id;
1757 l_request_rec.ship_to_site_use_id := l_service_request_rec.ship_to_site_use_id;
1758 l_request_rec.ship_to_contact_id := l_service_request_rec.ship_to_contact_id;
1759 l_request_rec.resolution_code := l_service_request_rec.resolution_code;
1760 l_request_rec.act_resolution_date := l_service_request_rec.act_resolution_date;
1761 l_request_rec.public_comment_flag := l_service_request_rec.public_comment_flag;
1762 l_request_rec.parent_interaction_id := l_service_request_rec.parent_interaction_id;
1763 l_request_rec.contract_id := l_service_request_rec.contract_id; -- for BUG 2776748
1764 l_request_rec.contract_service_id := l_service_request_rec.contract_service_id;
1765 l_request_rec.qa_collection_plan_id := l_service_request_rec.qa_collection_plan_id;
1766 l_request_rec.account_id := l_service_request_rec.account_id;
1767 l_request_rec.resource_type := l_service_request_rec.resource_type;
1768 l_request_rec.resource_subtype_id := l_service_request_rec.resource_subtype_id;
1769 l_request_rec.cust_po_number := l_service_request_rec.cust_po_number;
1770 l_request_rec.cust_ticket_number := l_service_request_rec.cust_ticket_number;
1771 l_request_rec.sr_creation_channel := l_service_request_rec.sr_creation_channel;
1772 l_request_rec.obligation_date := l_service_request_rec.obligation_date;
1773 l_request_rec.time_zone_id := l_service_request_rec.time_zone_id;
1774 l_request_rec.time_difference := l_service_request_rec.time_difference;
1775 l_request_rec.site_id := l_service_request_rec.site_id;
1776 l_request_rec.customer_site_id := l_service_request_rec.customer_site_id;
1777 l_request_rec.territory_id := l_service_request_rec.territory_id ;
1778 l_request_rec.cp_revision_id := l_service_request_rec.cp_revision_id ;
1779 l_request_rec.inv_item_revision := l_service_request_rec.inv_item_revision ;
1780 l_request_rec.inv_component_id := l_service_request_rec.inv_component_id ;
1781 l_request_rec.inv_component_version := l_service_request_rec.inv_component_version ;
1782 l_request_rec.inv_subcomponent_id := l_service_request_rec.inv_subcomponent_id ;
1783 l_request_rec.inv_subcomponent_version := l_service_request_rec.inv_subcomponent_version ;
1784 --- Fix for Bug# 2155981
1785 l_request_rec.project_number := l_service_request_rec.project_number;
1786 ------Enhancements 11.5.6--------07/12/01
1787 l_request_rec.tier := l_service_request_rec.tier;
1788
1789 l_request_rec.tier_version := l_service_request_rec.tier_version;
1790 l_request_rec.operating_system := l_service_request_rec.operating_system;
1791 l_request_rec.operating_system_version := l_service_request_rec.operating_system_version;
1792 l_request_rec.database := l_service_request_rec.database;
1793 l_request_rec.cust_pref_lang_id := l_service_request_rec.cust_pref_lang_id;
1794 --Added for Post 11.5.6 Enhancement
1795 l_request_rec.cust_pref_lang_code := l_service_request_rec.cust_pref_lang_code;
1796 l_request_rec.last_update_channel := l_service_request_rec.last_update_channel;
1797 ------
1798 l_request_rec.category_id := l_service_request_rec.category_id;
1799 l_request_rec.group_type := l_service_request_rec.group_type;
1800 l_request_rec.group_territory_id := l_service_request_rec.group_territory_id;
1801 l_request_rec.inv_platform_org_id := l_service_request_rec.inv_platform_org_id;
1802 l_request_rec.product_revision := l_service_request_rec.product_revision;
1803 l_request_rec.component_version := l_service_request_rec.component_version;
1804 l_request_rec.subcomponent_version := l_service_request_rec.subcomponent_version;
1805 l_request_rec.comm_pref_code := l_service_request_rec.comm_pref_code;
1806 l_request_rec.category_set_id := l_service_request_rec.category_set_id;
1807 l_request_rec.external_reference := l_service_request_rec.external_reference;
1808 l_request_rec.system_id := l_service_request_rec.system_id;
1809 l_request_rec.created_by := l_service_request_rec.created_by;
1810 l_request_rec.creation_date := l_service_request_rec.creation_date;
1811
1812 ------jngeorge--------07/12/01
1813 l_request_rec.error_code := l_service_request_rec.error_code;
1814 l_request_rec.incident_occurred_date := l_service_request_rec.incident_occurred_date;
1815 l_request_rec.incident_resolved_date := l_service_request_rec.incident_resolved_date;
1816 l_request_rec.inc_responded_by_date := l_service_request_rec.inc_responded_by_date;
1817
1818 l_request_rec.resolution_summary := l_service_request_rec.resolution_summary ;
1819 l_request_rec.incident_location_id := l_service_request_rec.incident_location_id ;
1820 l_request_rec.incident_address := l_service_request_rec.incident_address ;
1821 l_request_rec.incident_city := l_service_request_rec.incident_city;
1822 l_request_rec.incident_state := l_service_request_rec.incident_state;
1823 l_request_rec.incident_country := l_service_request_rec.incident_country;
1824 l_request_rec.incident_province := l_service_request_rec.incident_province;
1825 l_request_rec.incident_postal_code := l_service_request_rec.incident_postal_code;
1826 l_request_rec.incident_county := l_service_request_rec.incident_county;
1827 -- Added for Enh# 2216664
1828 l_request_rec.owner := l_service_request_rec.owner;
1829 l_request_rec.group_owner := l_service_request_rec.group_owner;
1830
1831 ---- Added for Credit Card ER# 2255263 (UI ER#2208078)
1832 l_request_rec.cc_number := l_service_request_rec.cc_number;
1833 l_request_rec.cc_expiration_date := l_service_request_rec.cc_expiration_date;
1834 l_request_rec.cc_type_code := l_service_request_rec.cc_type_code;
1835 l_request_rec.cc_first_name := l_service_request_rec.cc_first_name;
1836 l_request_rec.cc_last_name := l_service_request_rec.cc_last_name;
1837 l_request_rec.cc_middle_name := l_service_request_rec.cc_middle_name;
1838 l_request_rec.cc_id := l_service_request_rec.cc_id;
1839
1840 ---For ER# 2501166 added these external attributes date 1st oct 2002
1841
1842 l_request_rec.external_attribute_1 := l_service_request_rec.external_attribute_1;
1843 l_request_rec.external_attribute_2 := l_service_request_rec.external_attribute_2;
1844 l_request_rec.external_attribute_3 := l_service_request_rec.external_attribute_3;
1845 l_request_rec.external_attribute_4 := l_service_request_rec.external_attribute_4;
1846 l_request_rec.external_attribute_5 := l_service_request_rec.external_attribute_5;
1847 l_request_rec.external_attribute_6 := l_service_request_rec.external_attribute_6;
1848 l_request_rec.external_attribute_7 := l_service_request_rec.external_attribute_7;
1849 l_request_rec.external_attribute_8 := l_service_request_rec.external_attribute_8;
1850 l_request_rec.external_attribute_9 := l_service_request_rec.external_attribute_9;
1851 l_request_rec.external_attribute_10 := l_service_request_rec.external_attribute_10;
1852 l_request_rec.external_attribute_11 := l_service_request_rec.external_attribute_11;
1853 l_request_rec.external_attribute_12 := l_service_request_rec.external_attribute_12;
1854 l_request_rec.external_attribute_13 := l_service_request_rec.external_attribute_13;
1855 l_request_rec.external_attribute_14 := l_service_request_rec.external_attribute_14;
1856 l_request_rec.external_attribute_15 := l_service_request_rec.external_attribute_15;
1857 l_request_rec.external_context := l_service_request_rec.external_context;
1858 --- Added following attributes for Misc. ERs.
1859 -- Removing the coverage type shijain 06dec 2002
1860 --l_request_rec.coverage_type := l_service_request_rec.coverage_type; -- ER# 2320056
1861 l_request_rec.customer_phone_id := l_service_request_rec.customer_phone_id; -- ER# 2463321
1862 l_request_rec.customer_email_id := l_service_request_rec.customer_email_id; -- ER# 2463321
1863 l_request_rec.bill_to_account_id := l_service_request_rec.bill_to_account_id; -- ER# 2433831
1864 l_request_rec.ship_to_account_id := l_service_request_rec.ship_to_account_id; -- ER# 2433831
1865 -- Added these for ER for source 1159, by shijain oct 11 2002
1866 l_request_rec.creation_program_code := l_service_request_rec.creation_program_code;
1867 -- Bill_to_party, ship_to_party
1868 l_request_rec.bill_to_party_id := l_service_request_rec.bill_to_party_id;
1869 l_request_rec.ship_to_party_id := l_service_request_rec.ship_to_party_id;
1870 -- Conc request related fields
1871 l_request_rec.program_id := l_service_request_rec.program_id;
1872 l_request_rec.program_application_id := l_service_request_rec.program_application_id;
1873 l_request_rec.conc_request_id := l_service_request_rec.conc_request_id;
1874 l_request_rec.program_login_id := l_service_request_rec.program_login_id;
1875 -- Bill_to_site, ship_to_site
1876 l_request_rec.bill_to_site_id := l_service_request_rec.bill_to_site_id;
1877 l_request_rec.ship_to_site_id := l_service_request_rec.ship_to_site_id;
1878
1879 -- Added these address related columns for 11.5.9 by shijain 2002 dec 4th
1880
1881 l_request_rec.incident_point_of_interest := l_service_request_rec.incident_point_of_interest;
1882 l_request_rec.incident_cross_street := l_service_request_rec.incident_cross_street;
1883 l_request_rec.incident_direction_qualifier := l_service_request_rec.incident_direction_qualifier;
1884 l_request_rec.incident_distance_qualifier := l_service_request_rec.incident_distance_qualifier;
1885 l_request_rec.incident_distance_qual_uom := l_service_request_rec.incident_distance_qual_uom;
1886 l_request_rec.incident_address2 := l_service_request_rec.incident_address2;
1887 l_request_rec.incident_address3 := l_service_request_rec.incident_address3;
1888 l_request_rec.incident_address4 := l_service_request_rec.incident_address4;
1889 l_request_rec.incident_address_style := l_service_request_rec.incident_address_style;
1890 l_request_rec.incident_addr_lines_phonetic := l_service_request_rec.incident_addr_lines_phonetic;
1891 l_request_rec.incident_po_box_number := l_service_request_rec.incident_po_box_number;
1892 l_request_rec.incident_house_number := l_service_request_rec.incident_house_number;
1893 l_request_rec.incident_street_suffix := l_service_request_rec.incident_street_suffix;
1894 l_request_rec.incident_street := l_service_request_rec.incident_street;
1895 l_request_rec.incident_street_number := l_service_request_rec.incident_street_number;
1896 l_request_rec.incident_floor := l_service_request_rec.incident_floor;
1897 l_request_rec.incident_suite := l_service_request_rec.incident_suite;
1898 l_request_rec.incident_postal_plus4_code := l_service_request_rec.incident_postal_plus4_code;
1899 l_request_rec.incident_position := l_service_request_rec.incident_position;
1900 l_request_rec.incident_location_directions := l_service_request_rec.incident_location_directions;
1901 l_request_rec.incident_location_description:= l_service_request_rec.incident_location_description;
1902 l_request_rec.install_site_id := l_service_request_rec.install_site_id;
1903
1904 -- for cmro_eam
1905 l_request_rec.owning_dept_id := l_service_request_rec.owning_department_id;
1906
1907 -- Added for Misc ERs project of 11.5.10 --anmukher --08/26/03
1908 l_request_rec.incident_location_type := l_service_request_rec.incident_location_type;
1909
1910 -- Added on 09/09/03 - spusegao
1911 l_request_rec.coverage_type := l_service_request_rec.coverage_type;
1912 l_request_rec.maint_organization_id := l_service_request_rec.maint_organization_id;
1913
1914 --12.1.2 Dev -- shramana
1915 l_request_rec.site_number := l_service_request_rec.site_number;
1916 l_request_rec.site_name := l_service_request_rec.site_name;
1917 l_request_rec.addressee := l_service_request_rec.addressee;
1918 /*Credit Card 9358401 */
1919 l_request_rec.instrument_payment_use_id := l_service_request_rec.instrument_payment_use_id;
1920
1921 --12.2+ siahmed prject where we put porject_id
1922 l_request_rec.project_id := l_service_request_rec.project_id;
1923 l_request_rec.project_task_id := l_service_request_rec.project_task_id;
1924 l_request_rec.expenditure_org_id := l_service_request_rec.expenditure_org_id;
1925 --end of project related values
1926 --14004721 . Additional SLA dates. shramana
1927 l_request_rec.sla_date_1 := l_service_request_rec.sla_date_1;
1928 l_request_rec.sla_date_2 := l_service_request_rec.sla_date_2;
1929 l_request_rec.sla_date_3 := l_service_request_rec.sla_date_3;
1930 l_request_rec.sla_date_4 := l_service_request_rec.sla_date_4;
1931 l_request_rec.sla_date_5 := l_service_request_rec.sla_date_5;
1932 l_request_rec.sla_date_6 := l_service_request_rec.sla_date_6;
1933 l_request_rec.sla_duration_1 := l_service_request_rec.sla_duration_1;
1934 l_request_rec.sla_duration_2 := l_service_request_rec.sla_duration_2;
1935 --15995804. Add price_list_header_id
1936 l_request_rec.price_list_header_id := l_service_request_rec.price_list_header_id;
1937
1938
1939 -- ---------------------------
1940 -- Default missing attributes.
1941 -- ---------------------------
1942 Default_Request_Attributes
1943 ( p_resp_appl_id => l_resp_appl_id,
1944 p_resp_id => l_resp_id,
1945 p_user_id => l_user_id,
1946 x_request_rec => l_request_rec
1947 );
1948 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1949 RAISE FND_API.G_EXC_ERROR;
1950 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1951 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1952 END IF;
1953
1954 -- --------------------------------------------------
1955 -- Validate all non-missing and defaulted attributes.
1956 -- --------------------------------------------------
1957 Validate_Request_Attributes
1958 ( p_api_name => l_api_name_full,
1959 p_request_rec => l_request_rec
1960 );
1961 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1962 RAISE FND_API.G_EXC_ERROR;
1963 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1964 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1965 END IF;
1966
1967 -- ---------------------------------------------------------------------
1968 -- At this point, no attributes should be "missing" (value equivalent to
1969 -- the "missing" constants). All attributes that are not passed in by
1970 -- the caller should either be defaulted or initialized to NULLs,
1971 -- because when a parameter is missing it should be inserted as a NULL.
1972 -- ---------------------------------------------------------------------
1973 IF (l_request_rec.publish_flag = FND_API.G_MISS_CHAR) THEN
1974 l_request_rec.publish_flag := NULL;
1975 END IF;
1976 IF (l_request_rec.customer_id = FND_API.G_MISS_NUM) THEN
1977 l_request_rec.customer_id := NULL;
1978 END IF;
1979 IF (l_request_rec.customer_number = FND_API.G_MISS_CHAR) THEN
1980 l_request_rec.customer_number := NULL;
1981 END IF;
1982 IF (l_request_rec.employee_id = FND_API.G_MISS_NUM) THEN
1983 l_request_rec.employee_id := NULL;
1984 END IF;
1985 IF (l_request_rec.customer_product_id = FND_API.G_MISS_NUM) THEN
1986 l_request_rec.customer_product_id := NULL;
1987 END IF;
1988 IF (l_request_rec.inventory_item_id = FND_API.G_MISS_NUM) THEN
1989 l_request_rec.inventory_item_id := NULL;
1990 END IF;
1991
1992 -- for bug 3333340 - raising an ignore message for the ib
1993 -- realted fields if the verify cp flag is N
1994
1995
1996 if (l_request_rec.verify_cp_flag = 'N') then
1997
1998 if (l_request_rec.cp_component_id <> FND_API.G_MISS_NUM AND
1999 l_request_rec.cp_component_id IS NOT NULL) then
2000 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(
2001 p_token_an => l_api_name_full,
2002 p_token_ip => 'p_cp_component_id' );
2003
2004 l_request_rec.cp_component_id := NULL;
2005 end if;
2006
2007 if (l_request_rec.cp_component_version_id <> FND_API.G_MISS_NUM AND
2008 l_request_rec.cp_component_version_id IS NOT NULL) then
2009 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(
2010 p_token_an => l_api_name_full,
2011 p_token_ip => 'p_cp_component_version_id' );
2012
2013 l_request_rec.cp_component_version_id := NULL;
2014 end if;
2015
2016 if (l_request_rec.cp_subcomponent_id <> FND_API.G_MISS_NUM AND
2017 l_request_rec.cp_subcomponent_id IS NOT NULL) then
2018 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(
2019 p_token_an => l_api_name_full,
2020 p_token_ip => 'p_cp_subcomponent_id' );
2021
2022 l_request_rec.cp_subcomponent_id := NULL;
2023 end if;
2024
2025 if (l_request_rec.cp_subcomponent_version_id <> FND_API.G_MISS_NUM AND
2026 l_request_rec.cp_subcomponent_version_id IS NOT NULL) then
2027 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(
2028 p_token_an => l_api_name_full,
2029 p_token_ip => 'p_cp_subcomponent_version_id' );
2030
2031 l_request_rec.cp_subcomponent_version_id := NULL;
2032 end if;
2033
2034 if (l_request_rec.cp_revision_id <> FND_API.G_MISS_NUM AND
2035 l_request_rec.cp_revision_id IS NOT NULL) then
2036 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(
2037 p_token_an => l_api_name_full,
2038 p_token_ip => 'p_cp_revision_id' );
2039
2040 l_request_rec.cp_revision_id := NULL;
2041 end if;
2042
2043 if (l_request_rec.product_revision <> FND_API.G_MISS_CHAR AND
2044 l_request_rec.product_revision IS NOT NULL) then
2045 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(
2046 p_token_an => l_api_name_full,
2047 p_token_ip => 'p_product_revision' );
2048
2049 l_request_rec.product_revision := NULL;
2050 end if;
2051
2052 if (l_request_rec.component_version <> FND_API.G_MISS_CHAR AND
2053 l_request_rec.component_version IS NOT NULL) then
2054 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(
2055 p_token_an => l_api_name_full,
2056 p_token_ip => 'p_component_version' );
2057
2058 l_request_rec.component_version := NULL;
2059 end if;
2060
2061 if (l_request_rec.subcomponent_version <> FND_API.G_MISS_CHAR AND
2062 l_request_rec.subcomponent_version IS NOT NULL) then
2063 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(
2064 p_token_an => l_api_name_full,
2065 p_token_ip => 'p_subcomponent_version' );
2066
2067 l_request_rec.subcomponent_version := NULL;
2068 end if;
2069 end if;
2070
2071 -- For bug 3541718 - ignore message for contract_number
2072 if ( l_service_request_rec.contract_service_number <> FND_API.G_MISS_CHAR AND
2073 l_service_request_rec.contract_service_number IS NOT NULL) then
2074 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(
2075 p_token_an => l_api_name_full,
2076 p_token_ip => 'p_contract_number' );
2077 end if;
2078 -- ----------------------------------------------------------------------
2079 -- Perform business rule validation and the database operation by calling
2080 -- the Private API.
2081 -- ----------------------------------------------------------------------
2082 --Have passed p_commit parameter value from PUB to PVT, instead of
2083 --FALSE because the workflow process would fail if we pass FALSE to
2084 --the PVT API.
2085
2086 -- hardcoded the version 3.0 shijain nov 27 2002
2087
2088 --siahmed bug fix for 9494021 where invocation mode is not being passed via public API
2089 l_invocation_mode:=FND_PROFILE.VALUE('CSM_HA_MODE');
2090
2091 if ((l_invocation_mode <> 'HA_APPLY') OR (l_invocation_mode IS NULL) OR (l_invocation_mode = FND_API.G_MISS_CHAR)) THEN
2092 l_invocation_mode := 'NORMAL';
2093 ELSE
2094 l_invocation_mode := 'REPLAY';
2095 END IF;
2096 --siahmed end of bug fix
2097
2098 CS_ServiceRequest_PVT.Create_ServiceRequest
2099 ( p_api_version => 4.0,
2100 p_init_msg_list => FND_API.G_FALSE,
2101 p_commit => p_commit,
2102 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2103 x_return_status => l_return_status,
2104 x_msg_count => x_msg_count,
2105 x_msg_data => x_msg_data,
2106 p_resp_appl_id => l_resp_appl_id,
2107 p_resp_id => l_resp_id,
2108 p_user_id => l_user_id,
2109 p_login_id => l_login_id,
2110 p_org_id => l_org_id,
2111 p_request_id => l_request_id,
2112 p_request_number => l_request_number,
2113 p_invocation_mode => l_invocation_mode,
2114 p_service_request_rec => l_request_rec,
2115 p_notes => l_notes,
2116 p_contacts => l_contacts,
2117 p_auto_assign => p_auto_assign,
2118 -----------------anmukher----------------08/06/03
2119 -- Added for 11.5.10 projects
2120 p_auto_generate_tasks => p_auto_generate_tasks,
2121 p_default_contract_sla_ind => p_default_contract_sla_ind,
2122 p_default_coverage_template_id => p_default_coverage_template_id,
2123 -- OUT rec type to be used instead of individual OUT params
2124 x_sr_create_out_rec => l_sr_create_out_rec
2125 -- The following OUT params are now part of the OUT rec type
2126 -- x_request_id => x_request_id,
2127 -- x_request_number => x_request_number,
2128 -- x_interaction_id => x_interaction_id,
2129 -- x_workflow_process_id => x_workflow_process_id,
2130 -- These 3 parameters are added for Assignment Manager 115.9 changes.
2131 -- x_individual_owner => x_individual_owner,
2132 -- x_group_owner => x_group_owner,
2133 -- x_individual_type => x_individual_type
2134 );
2135
2136
2137 -- Assign the returned values to the OUT rec --anmukher -- 08/13/03
2138 x_sr_create_out_rec.request_id := l_sr_create_out_rec.request_id;
2139 x_sr_create_out_rec.request_number := l_sr_create_out_rec.request_number;
2140 x_sr_create_out_rec.interaction_id := l_sr_create_out_rec.interaction_id;
2141 x_sr_create_out_rec.workflow_process_id := l_sr_create_out_rec.workflow_process_id;
2142 x_sr_create_out_rec.individual_owner := l_sr_create_out_rec.individual_owner;
2143 x_sr_create_out_rec.group_owner := l_sr_create_out_rec.group_owner;
2144 x_sr_create_out_rec.individual_type := l_sr_create_out_rec.individual_type;
2145 x_sr_create_out_rec.auto_task_gen_status := l_sr_create_out_rec.auto_task_gen_status;
2146 x_sr_create_out_rec.auto_task_gen_attempted := l_sr_create_out_rec.auto_task_gen_attempted;
2147 x_sr_create_out_rec.field_service_task_created := l_sr_create_out_rec.field_service_task_created;
2148 x_sr_create_out_rec.contract_service_id := l_sr_create_out_rec.contract_service_id;
2149 x_sr_create_out_rec.resolve_by_date := l_sr_create_out_rec.resolve_by_date;
2150 x_sr_create_out_rec.respond_by_date := l_sr_create_out_rec.respond_by_date;
2151 x_sr_create_out_rec.resolved_on_date := l_sr_create_out_rec.resolved_on_date;
2152 x_sr_create_out_rec.responded_on_date := l_sr_create_out_rec.responded_on_date;
2153
2154 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2155 RAISE FND_API.G_EXC_ERROR;
2156 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2157 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2158 END IF;
2159
2160 -- Standard check of p_commit
2161 IF FND_API.To_Boolean(p_commit) THEN
2162 COMMIT WORK;
2163 END IF;
2164
2165 -- Standard call to get message count and if count is 1, get message info
2166 FND_MSG_PUB.Count_And_Get
2167 ( p_count => x_msg_count,
2168 p_data => x_msg_data
2169 );
2170
2171 EXCEPTION
2172 WHEN FND_API.G_EXC_ERROR THEN
2173 ROLLBACK TO Create_ServiceRequest_PUB;
2174 x_return_status := FND_API.G_RET_STS_ERROR;
2175 FND_MSG_PUB.Count_And_Get
2176 ( p_count => x_msg_count,
2177 p_data => x_msg_data
2178 );
2179 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2180 ROLLBACK TO Create_ServiceRequest_PUB;
2181 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2182 FND_MSG_PUB.Count_And_Get
2183 ( p_count => x_msg_count,
2184 p_data => x_msg_data
2185 );
2186 WHEN OTHERS THEN
2187 ROLLBACK TO Create_ServiceRequest_PUB;
2188 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2189 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2190 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2191 END IF;
2192 FND_MSG_PUB.Count_And_Get
2193 ( p_count => x_msg_count,
2194 p_data => x_msg_data
2195 );
2196
2197 END Create_ServiceRequest;
2198
2199
2200 --------------------------------------------------------------------------
2201 -- Update_ServiceRequest
2202 --------------------------------------------------------------------------
2203 -- p_org_id IN NUMBER := NULL,
2204
2205 ----------------anmukher---------------08/08/2003
2206 -- Added overloaded SR Update API for backward compatibility with 11.5.9
2207 -- This will call the 11.5.10 version of the API
2208 PROCEDURE Update_ServiceRequest
2209 (
2210 p_api_version IN NUMBER,
2211 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2212 p_commit IN VARCHAR2 := FND_API.G_FALSE,
2213 x_return_status OUT NOCOPY VARCHAR2,
2214 x_msg_count OUT NOCOPY NUMBER,
2215 x_msg_data OUT NOCOPY VARCHAR2,
2216 p_request_id IN NUMBER := NULL,
2217 p_request_number IN VARCHAR2 := NULL,
2218 p_audit_comments IN VARCHAR2 := NULL,
2219 p_object_version_number IN NUMBER,
2220 p_resp_appl_id IN NUMBER := NULL,
2221 p_resp_id IN NUMBER := NULL,
2222 p_last_updated_by IN NUMBER,
2223 p_last_update_login IN NUMBER :=NULL,
2224 p_last_update_date IN DATE,
2225 p_service_request_rec IN service_request_rec_type,
2226 p_notes IN notes_table,
2227 p_contacts IN contacts_table,
2228 p_called_by_workflow IN VARCHAR2 := FND_API.G_FALSE,
2229 p_workflow_process_id IN NUMBER := NULL,
2230 p_default_contract_sla_ind IN VARCHAR2 Default 'N',
2231 x_workflow_process_id OUT NOCOPY NUMBER,
2232 x_interaction_id OUT NOCOPY NUMBER
2233 )
2234 IS
2235
2236 l_api_version CONSTANT NUMBER := 3.0;
2237 l_api_version_back CONSTANT NUMBER := 2.0;
2238 l_api_name CONSTANT VARCHAR2(30) := 'Update_ServiceRequest';
2239 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
2240 l_return_status VARCHAR2(1);
2241 l_msg_count NUMBER;
2242 l_msg_data VARCHAR2(2000);
2243
2244 l_sr_update_out_rec sr_update_out_rec_type;
2245
2246 BEGIN
2247
2248 -- Standard start of API savepoint
2249 SAVEPOINT Update_ServiceRequest_PUB;
2250
2251 -- Standard call to check for call compatibility
2252 -- Added the and condition for backward compatibility project, now
2253 -- both the version 2.0 and 3.0 are valid as this procedure can be called
2254 -- from both 1158 or 1159 env.
2255
2256 --BUG 3630159:
2257 --Added to clear message cache in case of API call wrong version.
2258 -- Initialize message list if p_init_msg_list is set to TRUE
2259 IF FND_API.To_Boolean(p_init_msg_list) THEN
2260 FND_MSG_PUB.Initialize;
2261 END IF;
2262
2263 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
2264 AND NOT FND_API.Compatible_API_Call(l_api_version_back, p_api_version, l_api_name, G_PKG_NAME) THEN
2265 -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR; #BUG 3630127
2266 RAISE FND_API.G_EXC_ERROR;
2267 END IF;
2268
2269 -- Initialize API return status to success
2270 x_return_status := FND_API.G_RET_STS_SUCCESS;
2271
2272 -- Call 11.5.10 version of the Update SR API
2273 CS_ServiceRequest_PUB.Update_ServiceRequest
2274 ( p_api_version => 4.0,
2275 p_init_msg_list => FND_API.G_FALSE,
2276 p_commit => p_commit,
2277 x_return_status => x_return_status,
2278 x_msg_count => x_msg_count,
2279 x_msg_data => x_msg_data,
2280 p_request_id => p_request_id,
2281 p_request_number => p_request_number,
2282 p_audit_comments => p_audit_comments,
2283 p_object_version_number => p_object_version_number,
2284 p_resp_appl_id => p_resp_appl_id,
2285 p_resp_id => p_resp_id,
2286 p_last_updated_by => p_last_updated_by,
2287 p_last_update_login => p_last_update_login,
2288 p_last_update_date => p_last_update_date,
2289 p_service_request_rec => p_service_request_rec,
2290 p_notes => p_notes,
2291 p_contacts => p_contacts,
2292 p_called_by_workflow => p_called_by_workflow,
2293 p_workflow_process_id => p_workflow_process_id,
2294 p_auto_assign => 'N',
2295 p_validate_sr_closure => 'N',
2296 p_auto_close_child_entities => 'N',
2297 p_default_contract_sla_ind => p_default_contract_sla_ind,
2298 x_sr_update_out_rec => l_sr_update_out_rec
2299 );
2300
2301 -- Assign values returned by the called API to the OUT parameters
2302 x_workflow_process_id := l_sr_update_out_rec.workflow_process_id;
2303 x_interaction_id := l_sr_update_out_rec.interaction_id;
2304
2305 IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2306 raise FND_API.G_EXC_ERROR;
2307 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2308 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2309 END IF;
2310
2311 -- Standard check of p_commit
2312 IF FND_API.To_Boolean(p_commit) THEN
2313 COMMIT WORK;
2314 END IF;
2315
2316 -- Standard call to get message count and if count is 1, get message info
2317 FND_MSG_PUB.Count_And_Get
2318 ( p_count => x_msg_count,
2319 p_data => x_msg_data
2320 );
2321
2322 EXCEPTION
2323 WHEN FND_API.G_EXC_ERROR THEN
2324 ROLLBACK TO Update_ServiceRequest_PUB;
2325 x_return_status := FND_API.G_RET_STS_ERROR;
2326 FND_MSG_PUB.Count_And_Get
2327 ( p_count => x_msg_count,
2328 p_data => x_msg_data
2329 );
2330 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2331 ROLLBACK TO Update_ServiceRequest_PUB;
2332 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2333 FND_MSG_PUB.Count_And_Get
2334 ( p_count => x_msg_count,
2335 p_data => x_msg_data
2336 );
2337 WHEN OTHERS THEN
2338 ROLLBACK TO Update_ServiceRequest_PUB;
2339 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2340 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2341 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2342 END IF;
2343 FND_MSG_PUB.Count_And_Get
2344 ( p_count => x_msg_count,
2345 p_data => x_msg_data
2346 );
2347
2348 END Update_ServiceRequest;
2349
2350 ------------------------------
2351 -- 11.5.10 Update API
2352 ------------------------------
2353 -- Modification History
2354 -- Date Name Description
2355 ----------- -------- -----------------------------------------------------------
2356 -- 05/04/05 smisra copied maint_organization_id to PVT API rec
2357 -- Removed passing of item_serial_number to PVT SR Rec
2358 -- 03/08/05 smisra Raised exception if item_serial_number is passed
2359 -- 12/30/05 smisra Bug 4773215.
2360 -- Removed raising error message when resource type is Null
2361 -- but owner id is not null
2362 -- Removed raising error message when sr creation channel
2363 -- is NULL
2364 --------------------------------------------------------------------------------
2365 PROCEDURE Update_ServiceRequest
2366 (
2367 p_api_version IN NUMBER,
2368 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2369 p_commit IN VARCHAR2 := FND_API.G_FALSE,
2370 x_return_status OUT NOCOPY VARCHAR2,
2371 x_msg_count OUT NOCOPY NUMBER,
2372 x_msg_data OUT NOCOPY VARCHAR2,
2373 p_request_id IN NUMBER := NULL,
2374 p_request_number IN VARCHAR2 := NULL,
2375 p_audit_comments IN VARCHAR2 := NULL,
2376 p_object_version_number IN NUMBER,
2377 p_resp_appl_id IN NUMBER := NULL,
2378 p_resp_id IN NUMBER := NULL,
2379 p_last_updated_by IN NUMBER,
2380 p_last_update_login IN NUMBER :=NULL,
2381 p_last_update_date IN DATE,
2382 p_service_request_rec IN service_request_rec_type,
2383 p_notes IN notes_table,
2384 p_contacts IN contacts_table,
2385 p_called_by_workflow IN VARCHAR2 := FND_API.G_FALSE,
2386 p_workflow_process_id IN NUMBER := NULL,
2387 -- Commented out since these are now part of the out rec type --anmukher--08/08/03
2388 -- x_workflow_process_id OUT NOCOPY NUMBER,
2389 -- x_interaction_id OUT NOCOPY NUMBER,
2390 ----------------anmukher--------------------08/08/03
2391 -- Added for 11.5.10 projects
2392 p_auto_assign IN VARCHAR2 Default 'N',
2393 p_validate_sr_closure IN VARCHAR2 Default 'N',
2394 p_auto_close_child_entities IN VARCHAR2 Default 'N',
2395 p_default_contract_sla_ind IN VARCHAR2 Default 'N',
2396 --Add p_auto_generate_tasks for 12.2-Auto Task creation
2397 p_auto_generate_tasks IN VARCHAR2 Default 'N',
2398 x_sr_update_out_rec OUT NOCOPY sr_update_out_rec_type
2399 )
2400 IS
2401
2402 -- changed the version from 3.0 to 4.0 anmukher aug 08 2003
2403
2404 l_api_version CONSTANT NUMBER := 4.0;
2405 l_api_version_back CONSTANT NUMBER := 3.0;
2406 l_api_name CONSTANT VARCHAR2(30) := 'Update_ServiceRequest';
2407 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
2408 l_log_module CONSTANT VARCHAR2(255) := 'cs.plsql.' || l_api_name_full || '.';
2409 l_return_status VARCHAR2(1);
2410 l_msg_count NUMBER;
2411 l_msg_data VARCHAR2(2000);
2412
2413 l_notes cs_servicerequest_pvt.notes_table;
2414 l_contacts cs_servicerequest_pvt.contacts_table;
2415
2416
2417 l_note_index BINARY_INTEGER;
2418 l_contact_index BINARY_INTEGER;
2419
2420 l_service_request_rec service_request_rec_type DEFAULT p_service_request_rec;
2421 l_request_rec cs_servicerequest_pvt.service_request_rec_type;
2422
2423 l_resp_appl_id NUMBER := p_resp_appl_id;
2424 l_resp_id NUMBER := p_resp_id;
2425 l_user_id NUMBER := p_last_updated_by;
2426 l_login_id NUMBER := p_last_update_login;
2427 l_org_id NUMBER ;
2428 l_inventory_org_id NUMBER := l_service_request_rec.inventory_org_id;
2429
2430 l_inventory_item_id NUMBER;
2431 l_update_desc_flex VARCHAR2(1) := FND_API.G_FALSE;
2432 l_request_id NUMBER;
2433
2434 l_request_conv_rec Request_Conversion_Rec_Type;
2435 l_inventory_item_segments_tbl FND_FLEX_EXT.SegmentArray;
2436 i NUMBER := 0; -- counter
2437 l_key_flex_code VARCHAR2(30);
2438
2439 -- Added for making call to private Update API which uses the private rec type -- anmukher -- 08/13/03
2440 l_sr_update_out_rec CS_ServiceRequest_PVT.sr_update_out_rec_type;
2441
2442 --siahmed
2443 l_invocation_mode VARCHAR2(51);
2444
2445 BEGIN
2446
2447 -- Standard start of API savepoint
2448 SAVEPOINT Update_ServiceRequest_PUB;
2449
2450 -- Standard call to check for call compatibility
2451 -- Added the and condition for backward compatibility project, now
2452 -- both the version 2.0 and 3.0 are valid as this procedure can be called
2453 -- from both 1158 or 1159 env.
2454
2455 --BUG 3630159:
2456 --Added to clear message cache in case of API call wrong version.
2457 -- Initialize message list if p_init_msg_list is set to TRUE
2458 IF FND_API.To_Boolean(p_init_msg_list) THEN
2459 FND_MSG_PUB.Initialize;
2460 END IF;
2461
2462 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
2463 -- Support for previous version, 3.0, not required as overloaded procedure supports that version --anmukher --08/12/03
2464 -- AND NOT FND_API.Compatible_API_Call(l_api_version_back, p_api_version, l_api_name, G_PKG_NAME)
2465 -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR; #BUG 3630127
2466 RAISE FND_API.G_EXC_ERROR;
2467 END IF;
2468
2469 -- Initialize API return status to success
2470 x_return_status := FND_API.G_RET_STS_SUCCESS;
2471
2472 ----------------------- FND Logging -----------------------------------
2473 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
2474 THEN
2475 FND_LOG.String
2476 ( FND_LOG.level_procedure , L_LOG_MODULE || 'start'
2477 , 'Inside ' || L_API_NAME_FULL || ', called with parameters below:'
2478 );
2479 FND_LOG.String
2480 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2481 , 'p_api_version:' || p_api_version
2482 );
2483 FND_LOG.String
2484 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2485 , 'p_init_msg_list:' || p_init_msg_list
2486 );
2487 FND_LOG.String
2488 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2489 , 'p_commit:' || p_commit
2490 );
2491 FND_LOG.String
2492 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2493 , 'p_resp_appl_id:' || p_resp_appl_id
2494 );
2495 FND_LOG.String
2496 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2497 , 'p_resp_id:' || p_resp_id
2498 );
2499 FND_LOG.String
2500 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2501 , 'P_audit_comments:' || P_audit_comments
2502 );
2503 FND_LOG.String
2504 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2505 , 'P_object_version_number:' || P_object_version_number
2506 );
2507 FND_LOG.String
2508 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2509 , 'P_Last_updated_by:' || P_Last_updated_by
2510 );
2511 FND_LOG.String
2512 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2513 , 'P_Last_update_login:' || P_Last_update_login
2514 );
2515 FND_LOG.String
2516 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2517 , 'P_Last_update_date:' || P_Last_update_date
2518 );
2519 FND_LOG.String
2520 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2521 , 'p_request_id:' || p_request_id
2522 );
2523 FND_LOG.String
2524 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2525 , 'p_request_number:' || p_request_number
2526 );
2527 FND_LOG.String
2528 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2529 , 'p_auto_assign:' || p_auto_assign
2530 );
2531 FND_LOG.String
2532 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2533 , 'P_Called_by_workflow:' || P_Called_by_workflow
2534 );
2535 FND_LOG.String
2536 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2537 , 'P_Workflow_process_id:' || P_Workflow_process_id
2538 );
2539 FND_LOG.String
2540 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2541 , 'P_Validate_SR_Closure:' || P_Validate_SR_Closure
2542 );
2543 FND_LOG.String
2544 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2545 , 'P_Auto_Close_Child_Entities:' || P_Auto_Close_Child_Entities
2546 );
2547 FND_LOG.String
2548 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2549 , 'P_auto_generate_tasks:' || P_auto_generate_tasks
2550 );
2551
2552 -- --------------------------------------------------------------------------
2553 -- This procedure Logs the record paramters of SR and NOTES, CONTACTS tables.
2554 -- --------------------------------------------------------------------------
2555 Log_SR_PUB_Parameters
2556 ( p_service_request_rec => p_service_request_rec
2557 , p_notes => p_notes
2558 , p_contacts => p_contacts
2559 );
2560
2561 END IF;
2562
2563 IF l_service_request_rec.item_serial_number <> FND_API.G_MISS_CHAR
2564 THEN
2565 FND_MESSAGE.set_name ('CS', 'CS_SR_ITEM_SERIAL_OBSOLETE');
2566 FND_MESSAGE.set_token
2567 ( 'API_NAME'
2568 , 'CS_SERVICEREQUEST_PUB.update_servicerequest'
2569 );
2570 FND_MSG_PUB.ADD_DETAIL
2571 ( p_associated_column1 => 'CS_INCIDENTS_ALL_B.ITEM_SERIAL_NUMBER'
2572 );
2573 RAISE FND_API.G_EXC_ERROR;
2574 END IF;
2575 -- ------------------------------------------------------------
2576 -- First get the default information
2577 -- ------------------------------------------------------------
2578 Get_Default_Values(
2579 p_api_name => l_api_name_full,
2580 p_org_id => l_org_id,
2581 p_resp_appl_id => l_resp_appl_id,
2582 p_resp_id => l_resp_id,
2583 p_user_id => l_user_id,
2584 p_login_id => l_login_id,
2585 p_inventory_org_id => l_inventory_org_id,
2586 p_request_id => p_request_id,
2587 p_request_number => p_request_number,
2588 p_request_id_out => l_request_id,
2589 p_return_status => l_return_status );
2590
2591 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2592 raise FND_API.G_EXC_ERROR;
2593 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2594 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2595 END IF;
2596
2597 --
2598 -- Convert values into IDs. Note that we don't convert the customer
2599 -- name or number into customer_id here because we don't know if this
2600 -- is a verified or non-verified request. The conversion will be
2601 -- done in the private API if necessary
2602 --
2603 l_request_conv_rec.type_id := l_service_request_rec.type_id;
2604 l_request_conv_rec.type_name := l_service_request_rec.type_name;
2605 l_request_conv_rec.status_id := l_service_request_rec.status_id;
2606 l_request_conv_rec.status_name := l_service_request_rec.status_name;
2607 l_request_conv_rec.severity_id := l_service_request_rec.severity_id;
2608 l_request_conv_rec.severity_name := l_service_request_rec.severity_name;
2609 l_request_conv_rec.urgency_id := l_service_request_rec.urgency_id;
2610 l_request_conv_rec.urgency_name := l_service_request_rec.urgency_name;
2611 l_request_conv_rec.publish_flag := substrb(l_service_request_rec.publish_flag, 1, 1);
2612 l_request_conv_rec.caller_type := l_service_request_rec.caller_type;
2613 l_request_conv_rec.employee_id := l_service_request_rec.employee_id;
2614 l_request_conv_rec.employee_number := l_service_request_rec.employee_number;
2615 l_request_conv_rec.verify_cp_flag := substrb(l_service_request_rec.verify_cp_flag, 1, 1);
2616 l_request_conv_rec.customer_product_id := l_service_request_rec.customer_product_id;
2617 l_request_conv_rec.cp_ref_number := l_service_request_rec.cp_ref_number;
2618
2619 Convert_Request_Val_To_ID(
2620 p_api_name => l_api_name_full,
2621 p_org_id => l_org_id,
2622 p_request_conv_rec => l_request_conv_rec,
2623 p_return_status => l_return_status
2624 );
2625
2626 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2627 raise FND_API.G_EXC_ERROR;
2628 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2629 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2630 END IF;
2631
2632 -- For Notes
2633 l_note_index := p_notes.FIRST;
2634 WHILE l_note_index IS NOT NULL LOOP
2635 l_notes(l_note_index).note := p_notes(l_note_index).note;
2636 l_notes(l_note_index).note_detail := p_notes(l_note_index).note_detail;
2637 l_notes(l_note_index).note_type := p_notes(l_note_index).note_type;
2638 l_notes(l_note_index).note_context_type_01 := p_notes(l_note_index).note_context_type_01;
2639 l_notes(l_note_index).note_context_type_id_01 := p_notes(l_note_index).note_context_type_id_01;
2640 l_notes(l_note_index).note_context_type_02 := p_notes(l_note_index).note_context_type_02;
2641 l_notes(l_note_index).note_context_type_id_02 := p_notes(l_note_index).note_context_type_id_02;
2642 l_notes(l_note_index).note_context_type_03 := p_notes(l_note_index).note_context_type_03;
2643 l_notes(l_note_index).note_context_type_id_03 := p_notes(l_note_index).note_context_type_id_03;
2644 l_note_index := p_notes.NEXT(l_note_index);
2645 END LOOP;
2646
2647
2648 -- For Contacts
2649 l_contact_index := p_contacts.FIRST;
2650 WHILE l_contact_index IS NOT NULL LOOP
2651
2652 l_contacts(l_contact_index).sr_contact_point_id := p_contacts(l_contact_index).sr_contact_point_id ;
2653 l_contacts(l_contact_index).party_id := p_contacts(l_contact_index).party_id;
2654 l_contacts(l_contact_index).contact_point_id := p_contacts(l_contact_index).contact_point_id;
2655 l_contacts(l_contact_index).contact_point_type := p_contacts(l_contact_index).contact_point_type;
2656 l_contacts(l_contact_index).primary_flag := p_contacts(l_contact_index).primary_flag;
2657 l_contacts(l_contact_index).contact_type := p_contacts(l_contact_index).contact_type;
2658 l_contacts(l_contact_index).party_role_code := p_contacts(l_contact_index).party_role_code;
2659 l_contacts(l_contact_index).start_date_active := p_contacts(l_contact_index).start_date_active;
2660 l_contacts(l_contact_index).end_date_active := p_contacts(l_contact_index).end_date_active;
2661 l_contact_index := p_contacts.NEXT(l_contact_index);
2662 END LOOP;
2663
2664
2665 --
2666 --cs_servicerequest_pvt.initialize_rec(l_request_rec);
2667 --
2668
2669 --
2670 -- Make sure the caller does not set the required fields
2671 -- to NULL
2672 --
2673 IF (l_request_conv_rec.type_id IS NULL) THEN
2674 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
2675 p_token_an => l_api_name_full,
2676 p_token_np => 'p_type_id' );
2677 RAISE FND_API.G_EXC_ERROR;
2678 ELSIF (l_request_conv_rec.status_id IS NULL) THEN
2679 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
2680 p_token_an => l_api_name_full,
2681 p_token_np => 'p_status_id' );
2682 RAISE FND_API.G_EXC_ERROR;
2683 ELSIF (l_request_conv_rec.severity_id IS NULL) THEN
2684 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
2685 p_token_an => l_api_name_full,
2686 p_token_np => 'p_severity_id' );
2687 RAISE FND_API.G_EXC_ERROR;
2688 ELSIF (l_service_request_rec.summary IS NULL) THEN
2689 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
2690 p_token_an => l_api_name_full,
2691 p_token_np => 'p_summary' );
2692 RAISE FND_API.G_EXC_ERROR;
2693 ELSIF (l_request_conv_rec.verify_cp_flag IS NULL) THEN
2694 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
2695 p_token_an => l_api_name_full,
2696 p_token_np => 'p_verify_cp_flag' );
2697 RAISE FND_API.G_EXC_ERROR;
2698 END IF;
2699
2700 IF l_service_request_rec.owner_id IS NULL THEN
2701 IF (l_service_request_rec.resource_type IS NOT NULL AND
2702 l_service_request_rec.resource_type <> FND_API.G_MISS_CHAR ) THEN
2703
2704 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
2705 p_token_an => l_api_name_full,
2706 p_token_np => 'p_owner_id' );
2707 RAISE FND_API.G_EXC_ERROR;
2708
2709 ELSIF l_service_request_rec.resource_type = FND_API.G_MISS_CHAR THEN
2710 l_service_request_rec.resource_type := NULL;
2711 END IF ;
2712
2713 ELSIF l_service_request_rec.owner_id = FND_API.G_MISS_NUM THEN
2714 l_service_request_rec.resource_type := FND_API.G_MISS_CHAR;
2715 END IF ;
2716
2717 IF (l_service_request_rec.owner_group_id IS NOT NULL AND
2718 l_service_request_rec.owner_group_id <> FND_API.G_MISS_NUM) THEN
2719
2720 IF (l_service_request_rec.group_type IS NULL OR
2721 l_service_request_rec.group_type = FND_API.G_MISS_CHAR) THEN
2722
2723 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
2724 p_token_an => l_api_name_full,
2725 p_token_np => 'p_group_type' );
2726
2727 RAISE FND_API.G_EXC_ERROR;
2728 END IF ;
2729
2730 ELSIF l_service_request_rec.owner_group_id IS NULL THEN
2731 IF (l_service_request_rec.group_type IS NOT NULL AND
2732 l_service_request_rec.group_type <> FND_API.G_MISS_CHAR) THEN
2733 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
2734 p_token_an => l_api_name_full,
2735 p_token_np => 'p_group_id' );
2736
2737 RAISE FND_API.G_EXC_ERROR;
2738 ELSIF l_service_request_rec.group_type = FND_API.G_MISS_CHAR THEN
2739 l_service_request_rec.group_type := NULL;
2740 END IF ;
2741
2742 ELSIF l_service_request_rec.owner_group_id = FND_API.G_MISS_NUM THEN
2743 l_service_request_rec.group_type := FND_API.G_MISS_CHAR;
2744 END IF ;
2745
2746
2747 /*
2748 Check to see if a value is passed for Caller_Type as it is not updateable - for BUG 2754987 .
2749 */
2750 IF (l_service_request_rec.caller_type <> FND_API.G_MISS_CHAR) THEN
2751 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(
2752 p_token_an => l_api_name_full,
2753 p_token_ip => 'p_caller_type' );
2754
2755 END IF;
2756 --
2757 -- Validate Key Flexfields and get the inventory_item_id
2758 --
2759 IF (l_service_request_rec.inventory_item_segment1 <> FND_API.G_MISS_CHAR) OR
2760 (l_service_request_rec.inventory_item_segment1 IS NULL) THEN
2761 i := i + 1;
2762 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment1;
2763 END IF;
2764 IF (l_service_request_rec.inventory_item_segment2 <> FND_API.G_MISS_CHAR) OR
2765 (l_service_request_rec.inventory_item_segment2 IS NULL) THEN
2766 i := i + 1;
2767 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment2;
2768 END IF;
2769 IF (l_service_request_rec.inventory_item_segment3 <> FND_API.G_MISS_CHAR) OR
2770 (l_service_request_rec.inventory_item_segment3 IS NULL) THEN
2771 i := i + 1;
2772 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment3;
2773 END IF;
2774 IF (l_service_request_rec.inventory_item_segment4 <> FND_API.G_MISS_CHAR) OR
2775 (l_service_request_rec.inventory_item_segment4 IS NULL) THEN
2776 i := i + 1;
2777 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment4;
2778 END IF;
2779 IF (l_service_request_rec.inventory_item_segment5 <> FND_API.G_MISS_CHAR) OR
2780 (l_service_request_rec.inventory_item_segment5 IS NULL) THEN
2781 i := i + 1;
2782 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment5;
2783 END IF;
2784 IF (l_service_request_rec.inventory_item_segment6 <> FND_API.G_MISS_CHAR) OR
2785 (l_service_request_rec.inventory_item_segment6 IS NULL) THEN
2786 i := i + 1;
2787 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment6;
2788 END IF;
2789 IF (l_service_request_rec.inventory_item_segment7 <> FND_API.G_MISS_CHAR) OR
2790 (l_service_request_rec.inventory_item_segment7 IS NULL) THEN
2791 i := i + 1;
2792 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment7;
2793 END IF;
2794 IF (l_service_request_rec.inventory_item_segment8 <> FND_API.G_MISS_CHAR) OR
2795 (l_service_request_rec.inventory_item_segment8 IS NULL) THEN
2796 i := i + 1;
2797 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment8;
2798 END IF;
2799 IF (l_service_request_rec.inventory_item_segment9 <> FND_API.G_MISS_CHAR) OR
2800 (l_service_request_rec.inventory_item_segment9 IS NULL) THEN
2801 i := i + 1;
2802 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment9;
2803 END IF;
2804 IF (l_service_request_rec.inventory_item_segment10 <> FND_API.G_MISS_CHAR) OR
2805 (l_service_request_rec.inventory_item_segment10 IS NULL) THEN
2806 i := i + 1;
2807 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment10;
2808 END IF;
2809 IF (l_service_request_rec.inventory_item_segment11 <> FND_API.G_MISS_CHAR) OR
2810 (l_service_request_rec.inventory_item_segment11 IS NULL) THEN
2811 i := i + 1;
2812 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment11;
2813 END IF;
2814 IF (l_service_request_rec.inventory_item_segment12 <> FND_API.G_MISS_CHAR) OR
2815 (l_service_request_rec.inventory_item_segment12 IS NULL) THEN
2816 i := i + 1;
2817 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment12;
2818 END IF;
2819 IF (l_service_request_rec.inventory_item_segment13 <> FND_API.G_MISS_CHAR) OR
2820 (l_service_request_rec.inventory_item_segment13 IS NULL) THEN
2821 i := i + 1;
2822 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment13;
2823 END IF;
2824 IF (l_service_request_rec.inventory_item_segment14 <> FND_API.G_MISS_CHAR) OR
2825 (l_service_request_rec.inventory_item_segment14 IS NULL) THEN
2826 i := i + 1;
2827 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment14;
2828 END IF;
2829 IF (l_service_request_rec.inventory_item_segment15 <> FND_API.G_MISS_CHAR) OR
2830 (l_service_request_rec.inventory_item_segment15 IS NULL) THEN
2831 i := i + 1;
2832 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment15;
2833 END IF;
2834 IF (l_service_request_rec.inventory_item_segment16 <> FND_API.G_MISS_CHAR) OR
2835 (l_service_request_rec.inventory_item_segment16 IS NULL) THEN
2836 i := i + 1;
2837 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment16;
2838 END IF;
2839 IF (l_service_request_rec.inventory_item_segment17 <> FND_API.G_MISS_CHAR) OR
2840 (l_service_request_rec.inventory_item_segment17 IS NULL) THEN
2841 i := i + 1;
2842 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment17;
2843 END IF;
2844 IF (l_service_request_rec.inventory_item_segment18 <> FND_API.G_MISS_CHAR) OR
2845 (l_service_request_rec.inventory_item_segment18 IS NULL) THEN
2846 i := i + 1;
2847 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment18;
2848 END IF;
2849 IF (l_service_request_rec.inventory_item_segment19 <> FND_API.G_MISS_CHAR) OR
2850 (l_service_request_rec.inventory_item_segment19 IS NULL) THEN
2851 i := i + 1;
2852 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment19;
2853 END IF;
2854 IF (l_service_request_rec.inventory_item_segment20 <> FND_API.G_MISS_CHAR) OR
2855 (l_service_request_rec.inventory_item_segment20 IS NULL) THEN
2856 i := i + 1;
2857 l_inventory_item_segments_tbl(i) := l_service_request_rec.inventory_item_segment20;
2858 END IF;
2859
2860 ---l_key_flex_code := FND_PROFILE.Value_Specific('CS_ID_FLEX_CODE', l_user_id, l_resp_id, l_resp_appl_id );
2861
2862 FND_PROFILE.Get('CS_ID_FLEX_CODE', l_key_flex_code) ;
2863
2864 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
2865 THEN
2866 FND_LOG.String
2867 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2868 , 'The Value of profile CS_ID_FLEX_CODE :' || l_key_flex_code
2869 );
2870 END IF;
2871
2872
2873 IF l_key_flex_code IS NULL THEN
2874 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2875 FND_MESSAGE.Set_Name('FND', 'PROFILES-CANNOT READ');
2876 FND_MESSAGE.Set_Token('OPTION', 'CS_ID_FLEX_CODE');
2877 FND_MESSAGE.Set_Token('ROUTINE', l_api_name_full);
2878 FND_MSG_PUB.Add;
2879 END IF;
2880 RAISE FND_API.G_EXC_ERROR;
2881 END IF;
2882
2883 Convert_Key_Flex_To_ID
2884 ( p_api_name => l_api_name_full,
2885 p_application_short_name => 'INV',
2886 p_key_flex_code => l_key_flex_code,
2887 p_structure_number => 101,
2888 p_attribute_id => l_service_request_rec.inventory_item_id,
2889 p_attribute_conc_segs => l_service_request_rec.inventory_item_conc_segs,
2890 p_attribute_segments_tbl => l_inventory_item_segments_tbl,
2891 p_attribute_n_segments => i,
2892 p_attribute_vals_or_ids => l_service_request_rec.inventory_item_vals_or_ids,
2893 p_data_set => l_inventory_org_id,
2894 p_resp_appl_id => l_resp_appl_id,
2895 p_resp_id => l_resp_id,
2896 p_user_id => l_user_id,
2897 p_attribute_id_out => l_inventory_item_id,
2898 p_return_status => l_return_status
2899 );
2900 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2901 raise FND_API.G_EXC_ERROR;
2902 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2903 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2904 END IF;
2905
2906 --
2907 -- Validate the descriptive flexfields
2908 --
2909 IF NOT (( l_service_request_rec.request_context = FND_API.G_MISS_CHAR) AND
2910 ( l_service_request_rec.request_attribute_1 = FND_API.G_MISS_CHAR) AND
2911 ( l_service_request_rec.request_attribute_2 = FND_API.G_MISS_CHAR) AND
2912 ( l_service_request_rec.request_attribute_3 = FND_API.G_MISS_CHAR) AND
2913 ( l_service_request_rec.request_attribute_4 = FND_API.G_MISS_CHAR) AND
2914 ( l_service_request_rec.request_attribute_5 = FND_API.G_MISS_CHAR) AND
2915 ( l_service_request_rec.request_attribute_6 = FND_API.G_MISS_CHAR) AND
2916 ( l_service_request_rec.request_attribute_7 = FND_API.G_MISS_CHAR) AND
2917 ( l_service_request_rec.request_attribute_8 = FND_API.G_MISS_CHAR) AND
2918 ( l_service_request_rec.request_attribute_9 = FND_API.G_MISS_CHAR) AND
2919 ( l_service_request_rec.request_attribute_10 = FND_API.G_MISS_CHAR) AND
2920 ( l_service_request_rec.request_attribute_11 = FND_API.G_MISS_CHAR) AND
2921 ( l_service_request_rec.request_attribute_12 = FND_API.G_MISS_CHAR) AND
2922 ( l_service_request_rec.request_attribute_13 = FND_API.G_MISS_CHAR) AND
2923 ( l_service_request_rec.request_attribute_14 = FND_API.G_MISS_CHAR) AND
2924 ( l_service_request_rec.request_attribute_15 = FND_API.G_MISS_CHAR) ) THEN
2925 /**** Transferred this portion to csvsrb.pls 01/23/04 smisra
2926 Reason: if g_miss values are passed to any segment then old value should be
2927 copied from service request record. Since old values are available in csvsrb.pls
2928 so code is moved there.
2929
2930 IF (l_service_request_rec.request_context = FND_API.G_MISS_CHAR) THEN
2931 l_service_request_rec.request_context := NULL;
2932 END IF;
2933 IF (l_service_request_rec.request_attribute_1 = FND_API.G_MISS_CHAR) THEN
2934 l_service_request_rec.request_attribute_1 := NULL;
2935 END IF;
2936 IF (l_service_request_rec.request_attribute_2 = FND_API.G_MISS_CHAR) THEN
2937 l_service_request_rec.request_attribute_2 := NULL;
2938 END IF;
2939 IF (l_service_request_rec.request_attribute_3 = FND_API.G_MISS_CHAR) THEN
2940 l_service_request_rec.request_attribute_3 := NULL;
2941 END IF;
2942 IF (l_service_request_rec.request_attribute_4 = FND_API.G_MISS_CHAR) THEN
2943 l_service_request_rec.request_attribute_4 := NULL;
2944 END IF;
2945 IF (l_service_request_rec.request_attribute_5 = FND_API.G_MISS_CHAR) THEN
2946 l_service_request_rec.request_attribute_5 := NULL;
2947 END IF;
2948 IF (l_service_request_rec.request_attribute_6 = FND_API.G_MISS_CHAR) THEN
2949 l_service_request_rec.request_attribute_6 := NULL;
2950 END IF;
2951 IF (l_service_request_rec.request_attribute_7 = FND_API.G_MISS_CHAR) THEN
2952 l_service_request_rec.request_attribute_7 := NULL;
2953 END IF;
2954 IF (l_service_request_rec.request_attribute_8 = FND_API.G_MISS_CHAR) THEN
2955 l_service_request_rec.request_attribute_8 := NULL;
2956 END IF;
2957 IF (l_service_request_rec.request_attribute_9 = FND_API.G_MISS_CHAR) THEN
2958 l_service_request_rec.request_attribute_9 := NULL;
2959 END IF;
2960 IF (l_service_request_rec.request_attribute_10 = FND_API.G_MISS_CHAR) THEN
2961 l_service_request_rec.request_attribute_10 := NULL;
2962 END IF;
2963 IF (l_service_request_rec.request_attribute_11 = FND_API.G_MISS_CHAR) THEN
2964 l_service_request_rec.request_attribute_11 := NULL;
2965 END IF;
2966 IF (l_service_request_rec.request_attribute_12 = FND_API.G_MISS_CHAR) THEN
2967 l_service_request_rec.request_attribute_12 := NULL;
2968 END IF;
2969 IF (l_service_request_rec.request_attribute_13 = FND_API.G_MISS_CHAR) THEN
2970 l_service_request_rec.request_attribute_13 := NULL;
2971 END IF;
2972 IF (l_service_request_rec.request_attribute_14 = FND_API.G_MISS_CHAR) THEN
2973 l_service_request_rec.request_attribute_14 := NULL;
2974 END IF;
2975 IF (l_service_request_rec.request_attribute_15 = FND_API.G_MISS_CHAR) THEN
2976 l_service_request_rec.request_attribute_15 := NULL;
2977 END IF;
2978
2979 Validate_Desc_Flex(
2980 p_api_name => l_api_name_full,
2981 p_application_short_name => 'CS',
2982 p_desc_flex_name => 'CS_INCIDENTS_ALL_B',
2983 p_desc_segment1 => l_service_request_rec.request_attribute_1,
2984 p_desc_segment2 => l_service_request_rec.request_attribute_2,
2985 p_desc_segment3 => l_service_request_rec.request_attribute_3,
2986 p_desc_segment4 => l_service_request_rec.request_attribute_4,
2987 p_desc_segment5 => l_service_request_rec.request_attribute_5,
2988 p_desc_segment6 => l_service_request_rec.request_attribute_6,
2989 p_desc_segment7 => l_service_request_rec.request_attribute_7,
2990 p_desc_segment8 => l_service_request_rec.request_attribute_8,
2991 p_desc_segment9 => l_service_request_rec.request_attribute_9,
2992 p_desc_segment10 => l_service_request_rec.request_attribute_10,
2993 p_desc_segment11 => l_service_request_rec.request_attribute_11,
2994 p_desc_segment12 => l_service_request_rec.request_attribute_12,
2995 p_desc_segment13 => l_service_request_rec.request_attribute_13,
2996 p_desc_segment14 => l_service_request_rec.request_attribute_14,
2997 p_desc_segment15 => l_service_request_rec.request_attribute_15,
2998 p_desc_context => l_service_request_rec.request_context,
2999 p_resp_appl_id => l_resp_appl_id,
3000 p_resp_id => l_resp_id,
3001 p_return_status => l_return_status );
3002
3003 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
3004 raise FND_API.G_EXC_ERROR;
3005 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3006 raise FND_API.G_EXC_UNEXPECTED_ERROR;
3007 END IF;
3008 ******/
3009
3010 l_update_desc_flex := FND_API.G_TRUE;
3011
3012 END IF;
3013
3014 -- -------------------------------------------------------------------
3015 -- Validate the external descriptive flexfield segments.
3016 -- For ER# 2501166 added these external attributes date 1st oct 2002
3017 -- -------------------------------------------------------------------
3018 -- this part of the code was not there
3019 --
3020 -- Validate the external descriptive flexfields
3021 --
3022 IF NOT (( l_service_request_rec.external_context = FND_API.G_MISS_CHAR) AND
3023 ( l_service_request_rec.external_attribute_1 = FND_API.G_MISS_CHAR) AND
3024 ( l_service_request_rec.external_attribute_2 = FND_API.G_MISS_CHAR) AND
3025 ( l_service_request_rec.external_attribute_3 = FND_API.G_MISS_CHAR) AND
3026 ( l_service_request_rec.external_attribute_4 = FND_API.G_MISS_CHAR) AND
3027 ( l_service_request_rec.external_attribute_5 = FND_API.G_MISS_CHAR) AND
3028 ( l_service_request_rec.external_attribute_6 = FND_API.G_MISS_CHAR) AND
3029 ( l_service_request_rec.external_attribute_7 = FND_API.G_MISS_CHAR) AND
3030 ( l_service_request_rec.external_attribute_8 = FND_API.G_MISS_CHAR) AND
3031 ( l_service_request_rec.external_attribute_9 = FND_API.G_MISS_CHAR) AND
3032 ( l_service_request_rec.external_attribute_10 = FND_API.G_MISS_CHAR) AND
3033 ( l_service_request_rec.external_attribute_11 = FND_API.G_MISS_CHAR) AND
3034 ( l_service_request_rec.external_attribute_12 = FND_API.G_MISS_CHAR) AND
3035 ( l_service_request_rec.external_attribute_13 = FND_API.G_MISS_CHAR) AND
3036 ( l_service_request_rec.external_attribute_14 = FND_API.G_MISS_CHAR) AND
3037 ( l_service_request_rec.external_attribute_15 = FND_API.G_MISS_CHAR) ) THEN
3038
3039 l_update_desc_flex := FND_API.G_TRUE;
3040
3041 END IF;
3042
3043 -- -----------------------------------------
3044 -- Populate the l_request_rec record fields.
3045 -- -----------------------------------------
3046 CS_ServiceRequest_PVT.initialize_rec(l_request_rec);
3047 l_request_rec.request_date := l_service_request_rec.request_date;
3048 l_request_rec.type_id := l_request_conv_rec.type_id;
3049 l_request_rec.status_id := l_request_conv_rec.status_id;
3050 l_request_rec.severity_id := l_request_conv_rec.severity_id;
3051 l_request_rec.urgency_id := l_request_conv_rec.urgency_id;
3052 l_request_rec.closed_date := l_service_request_rec.closed_date;
3053 l_request_rec.owner_id := l_service_request_rec.owner_id;
3054 l_request_rec.owner_group_id := l_service_request_rec.owner_group_id;
3055 l_request_rec.publish_flag := l_request_conv_rec.publish_flag;
3056 l_request_rec.summary := l_service_request_rec.summary;
3057 l_request_rec.caller_type := l_service_request_rec.caller_type;
3058 l_request_rec.customer_id := l_service_request_rec.customer_id;
3059 l_request_rec.customer_number := l_service_request_rec.customer_number;
3060
3061 -- l_request_rec.customer_prefix := l_service_request_rec.customer_prefix;
3062 -- l_request_rec.customer_firstname := l_service_request_rec.customer_firstname;
3063 -- l_request_rec.customer_lastname := l_service_request_rec.customer_lastname;
3064 -- l_request_rec.customer_company_name := l_service_request_rec.customer_company_name;
3065
3066 l_request_rec.employee_id := l_request_conv_rec.employee_id;
3067 l_request_rec.verify_cp_flag := l_request_conv_rec.verify_cp_flag;
3068 l_request_rec.customer_product_id := l_request_conv_rec.customer_product_id;
3069 l_request_rec.platform_id := l_service_request_rec.platform_id;
3070 l_request_rec.platform_version := l_service_request_rec.platform_version;
3071 l_request_rec.db_version := l_service_request_rec.db_version;
3072 l_request_rec.platform_version_id := l_service_request_rec.platform_version_id;
3073 l_request_rec.cp_component_id := l_service_request_rec.cp_component_id;
3074 l_request_rec.cp_component_version_id := l_service_request_rec.cp_component_version_id;
3075 l_request_rec.cp_subcomponent_id := l_service_request_rec.cp_subcomponent_id;
3076 l_request_rec.cp_subcomponent_version_id := l_service_request_rec.cp_subcomponent_version_id;
3077 l_request_rec.language_id := l_service_request_rec.language_id;
3078 l_request_rec.language := l_service_request_rec.language;
3079 l_request_rec.inventory_item_id := l_inventory_item_id;
3080 l_request_rec.inventory_org_id := l_inventory_org_id;
3081 l_request_rec.current_serial_number := l_service_request_rec.current_serial_number;
3082 l_request_rec.original_order_number := l_service_request_rec.original_order_number;
3083 l_request_rec.purchase_order_num := l_service_request_rec.purchase_order_num;
3084 l_request_rec.problem_code := l_service_request_rec.problem_code;
3085 l_request_rec.exp_resolution_date := l_service_request_rec.exp_resolution_date;
3086 l_request_rec.install_site_use_id := l_service_request_rec.install_site_use_id;
3087
3088 -- l_request_rec.install_location := l_service_request_rec.install_location;
3089 -- l_request_rec.install_customer := l_service_request_rec.install_customer;
3090 -- l_request_rec.install_country := l_service_request_rec.install_country;
3091 -- l_request_rec.install_address_1 := l_service_request_rec.install_address_1;
3092 -- l_request_rec.install_address_2 := l_service_request_rec.install_address_2;
3093 -- l_request_rec.install_address_3 := l_service_request_rec.install_address_3;
3094
3095
3096 l_request_rec.request_attribute_1 := l_service_request_rec.request_attribute_1;
3097 l_request_rec.request_attribute_2 := l_service_request_rec.request_attribute_2;
3098 l_request_rec.request_attribute_3 := l_service_request_rec.request_attribute_3;
3099 l_request_rec.request_attribute_4 := l_service_request_rec.request_attribute_4;
3100 l_request_rec.request_attribute_5 := l_service_request_rec.request_attribute_5;
3101 l_request_rec.request_attribute_6 := l_service_request_rec.request_attribute_6;
3102 l_request_rec.request_attribute_7 := l_service_request_rec.request_attribute_7;
3103 l_request_rec.request_attribute_8 := l_service_request_rec.request_attribute_8;
3104 l_request_rec.request_attribute_9 := l_service_request_rec.request_attribute_9;
3105 l_request_rec.request_attribute_10 := l_service_request_rec.request_attribute_10;
3106 l_request_rec.request_attribute_11 := l_service_request_rec.request_attribute_11;
3107 l_request_rec.request_attribute_12 := l_service_request_rec.request_attribute_12;
3108 l_request_rec.request_attribute_13 := l_service_request_rec.request_attribute_13;
3109 l_request_rec.request_attribute_14 := l_service_request_rec.request_attribute_14;
3110 l_request_rec.request_attribute_15 := l_service_request_rec.request_attribute_15;
3111 l_request_rec.request_context := l_service_request_rec.request_context;
3112 l_request_rec.bill_to_site_use_id := l_service_request_rec.bill_to_site_use_id;
3113 l_request_rec.bill_to_contact_id := l_service_request_rec.bill_to_contact_id;
3114
3115 -- l_request_rec.bill_to_location := l_service_request_rec.bill_to_location;
3116 -- l_request_rec.bill_to_customer := l_service_request_rec.bill_to_customer;
3117 -- l_request_rec.bill_country := l_service_request_rec.bill_country;
3118 -- l_request_rec.bill_to_address_1 := l_service_request_rec.bill_to_address_1;
3119 -- l_request_rec.bill_to_address_2 := l_service_request_rec.bill_to_address_2;
3120 -- l_request_rec.bill_to_address_3 := l_service_request_rec.bill_to_address_3;
3121 -- l_request_rec.bill_to_contact := l_service_request_rec.bill_to_contact;
3122
3123
3124 l_request_rec.ship_to_site_use_id := l_service_request_rec.ship_to_site_use_id;
3125 l_request_rec.ship_to_contact_id := l_service_request_rec.ship_to_contact_id;
3126
3127 -- l_request_rec.ship_to_location := l_service_request_rec.ship_to_location;
3128 -- l_request_rec.ship_to_customer := l_service_request_rec.ship_to_customer;
3129 -- l_request_rec.ship_country := l_service_request_rec.ship_country;
3130 -- l_request_rec.ship_to_address_1 := l_service_request_rec.ship_to_address_1;
3131 -- l_request_rec.ship_to_address_2 := l_service_request_rec.ship_to_address_2;
3132 -- l_request_rec.ship_to_address_3 := l_service_request_rec.ship_to_address_3;
3133 -- l_request_rec.ship_to_contact := l_service_request_rec.ship_to_contact;
3134
3135
3136 l_request_rec.resolution_code := l_service_request_rec.resolution_code;
3137 l_request_rec.act_resolution_date := l_service_request_rec.act_resolution_date;
3138 l_request_rec.public_comment_flag := l_service_request_rec.public_comment_flag;
3139 l_request_rec.parent_interaction_id := l_service_request_rec.parent_interaction_id;
3140 l_request_rec.contract_id := l_service_request_rec.contract_id; -- for BUG 2776748
3141 l_request_rec.contract_service_id := l_service_request_rec.contract_service_id;
3142 l_request_rec.qa_collection_plan_id := l_service_request_rec.qa_collection_plan_id;
3143 l_request_rec.account_id := l_service_request_rec.account_id;
3144 l_request_rec.resource_type := l_service_request_rec.resource_type;
3145 l_request_rec.resource_subtype_id := l_service_request_rec.resource_subtype_id;
3146 l_request_rec.cust_po_number := l_service_request_rec.cust_po_number;
3147 l_request_rec.cust_ticket_number := l_service_request_rec.cust_ticket_number;
3148 l_request_rec.sr_creation_channel := l_service_request_rec.sr_creation_channel;
3149 l_request_rec.obligation_date := l_service_request_rec.obligation_date;
3150 l_request_rec.time_zone_id := l_service_request_rec.time_zone_id;
3151 l_request_rec.time_difference := l_service_request_rec.time_difference;
3152 l_request_rec.site_id := l_service_request_rec.site_id;
3153 l_request_rec.customer_site_id := l_service_request_rec.customer_site_id;
3154 l_request_rec.territory_id := l_service_request_rec.territory_id ;
3155
3156 l_request_rec.cp_revision_id := l_service_request_rec.cp_revision_id ;
3157 l_request_rec.inv_item_revision := l_service_request_rec.inv_item_revision ;
3158 l_request_rec.inv_component_id := l_service_request_rec.inv_component_id ;
3159 l_request_rec.inv_component_version := l_service_request_rec.inv_component_version ;
3160 l_request_rec.inv_subcomponent_id := l_service_request_rec.inv_subcomponent_id ;
3161 l_request_rec.inv_subcomponent_version := l_service_request_rec.inv_subcomponent_version ;
3162 -- Fix for Bug# 2155981
3163 l_request_rec.project_number := l_service_request_rec.project_number;
3164
3165 --------Enhancements 11.5.6------------07/12/01
3166 l_request_rec.tier := l_service_request_rec.tier ;
3167 l_request_rec.tier_version := l_service_request_rec.tier_version ;
3168 l_request_rec.operating_system := l_service_request_rec.operating_system ;
3169 l_request_rec.operating_system_version := l_service_request_rec.operating_system_version ;
3170 l_request_rec.database := l_service_request_rec.database ;
3171 l_request_rec.cust_pref_lang_id := l_service_request_rec.cust_pref_lang_id ;
3172 --Added for Post 11.5.6 Enhancement
3173 l_request_rec.cust_pref_lang_code := l_service_request_rec.cust_pref_lang_code;
3174 l_request_rec.last_update_channel := l_service_request_rec.last_update_channel;
3175 ------
3176 l_request_rec.category_id := l_service_request_rec.category_id;
3177 l_request_rec.group_type := l_service_request_rec.group_type;
3178 l_request_rec.group_territory_id := l_service_request_rec.group_territory_id;
3179 l_request_rec.inv_platform_org_id := l_service_request_rec.inv_platform_org_id;
3180 l_request_rec.product_revision := l_service_request_rec.product_revision;
3181 l_request_rec.component_version := l_service_request_rec.component_version;
3182 l_request_rec.subcomponent_version := l_service_request_rec.subcomponent_version;
3183 l_request_rec.comm_pref_code := l_service_request_rec.comm_pref_code;
3184 l_request_rec.category_set_id := l_service_request_rec.category_set_id;
3185 l_request_rec.external_reference := l_service_request_rec.external_reference;
3186 l_request_rec.system_id := l_service_request_rec.system_id;
3187
3188 -------jngeorge-----------07/12/01
3189 l_request_rec.error_code := l_service_request_rec.error_code;
3190 l_request_rec.incident_occurred_date := l_service_request_rec.incident_occurred_date;
3191 l_request_rec.incident_resolved_date := l_service_request_rec.incident_resolved_date;
3192 l_request_rec.inc_responded_by_date := l_service_request_rec.inc_responded_by_date;
3193 l_request_rec.resolution_summary := l_service_request_rec.resolution_summary ;
3194 l_request_rec.incident_location_id := l_service_request_rec.incident_location_id ;
3195 l_request_rec.incident_address := l_service_request_rec.incident_address ;
3196 l_request_rec.incident_city := l_service_request_rec.incident_city;
3197 l_request_rec.incident_state := l_service_request_rec.incident_state;
3198 l_request_rec.incident_country := l_service_request_rec.incident_country;
3199 l_request_rec.incident_province := l_service_request_rec.incident_province;
3200 l_request_rec.incident_postal_code := l_service_request_rec.incident_postal_code;
3201 l_request_rec.incident_county := l_service_request_rec.incident_county;
3202 -- Added for Enh# 2216664
3203 l_request_rec.owner := l_service_request_rec.owner;
3204 l_request_rec.group_owner := l_service_request_rec.group_owner;
3205
3206 ---- Added for Credit Card ER# 2255263 (UI ER#2208078)
3207 l_request_rec.cc_number := l_service_request_rec.cc_number;
3208 l_request_rec.cc_expiration_date := l_service_request_rec.cc_expiration_date;
3209 l_request_rec.cc_type_code := l_service_request_rec.cc_type_code;
3210 l_request_rec.cc_first_name := l_service_request_rec.cc_first_name;
3211 l_request_rec.cc_last_name := l_service_request_rec.cc_last_name;
3212 l_request_rec.cc_middle_name := l_service_request_rec.cc_middle_name;
3213 l_request_rec.cc_id := l_service_request_rec.cc_id;
3214
3215 ---For ER# 2501166 added these external attributes date 1st oct 2002
3216
3217 l_request_rec.external_attribute_1 := l_service_request_rec.external_attribute_1;
3218 l_request_rec.external_attribute_2 := l_service_request_rec.external_attribute_2;
3219 l_request_rec.external_attribute_3 := l_service_request_rec.external_attribute_3;
3220 l_request_rec.external_attribute_4 := l_service_request_rec.external_attribute_4;
3221 l_request_rec.external_attribute_5 := l_service_request_rec.external_attribute_5;
3222 l_request_rec.external_attribute_6 := l_service_request_rec.external_attribute_6;
3223 l_request_rec.external_attribute_7 := l_service_request_rec.external_attribute_7;
3224 l_request_rec.external_attribute_8 := l_service_request_rec.external_attribute_8;
3225 l_request_rec.external_attribute_9 := l_service_request_rec.external_attribute_9;
3226 l_request_rec.external_attribute_10 := l_service_request_rec.external_attribute_10;
3227 l_request_rec.external_attribute_11 := l_service_request_rec.external_attribute_11;
3228 l_request_rec.external_attribute_12 := l_service_request_rec.external_attribute_12;
3229 l_request_rec.external_attribute_13 := l_service_request_rec.external_attribute_13;
3230 l_request_rec.external_attribute_14 := l_service_request_rec.external_attribute_14;
3231 l_request_rec.external_attribute_15 := l_service_request_rec.external_attribute_15;
3232 l_request_rec.external_context := l_service_request_rec.external_context;
3233 --- Added following attributes for Misc. ERs.
3234 -- Removing the coverage type shijain 06dec 2002
3235 -- l_request_rec.coverage_type := l_service_request_rec.coverage_type; -- ER# 2320056
3236 l_request_rec.bill_to_account_id := l_service_request_rec.bill_to_account_id; -- ER# 2433831
3237 l_request_rec.ship_to_account_id := l_service_request_rec.ship_to_account_id; -- ER# 2433831
3238 l_request_rec.customer_phone_id := l_service_request_rec.customer_phone_id; -- ER# 2463321
3239 l_request_rec.customer_email_id := l_service_request_rec.customer_email_id; -- ER# 2463321
3240 -- Added for ER for source for 1159 by shijain oct 11 2002
3241 l_request_rec.last_update_program_code := l_service_request_rec.last_update_program_code;
3242 -- Bill_to_party, ship_to_party
3243 l_request_rec.bill_to_party_id := l_service_request_rec.bill_to_party_id;
3244 l_request_rec.ship_to_party_id := l_service_request_rec.ship_to_party_id;
3245 -- Conc request related fields
3246 l_request_rec.program_id := l_service_request_rec.program_id;
3247 l_request_rec.program_application_id := l_service_request_rec.program_application_id;
3248 l_request_rec.conc_request_id := l_service_request_rec.conc_request_id;
3249 l_request_rec.program_login_id := l_service_request_rec.program_login_id;
3250 -- Bill_to_site, ship_to_site
3251 l_request_rec.bill_to_site_id := l_service_request_rec.bill_to_site_id;
3252 l_request_rec.ship_to_site_id := l_service_request_rec.ship_to_site_id;
3253 -- Added these address related columns for 11.5.9 by shijain 2002 dec 4th
3254
3255 l_request_rec.incident_point_of_interest := l_service_request_rec.incident_point_of_interest;
3256 l_request_rec.incident_cross_street := l_service_request_rec.incident_cross_street;
3257 l_request_rec.incident_direction_qualifier:= l_service_request_rec.incident_direction_qualifier;
3258 l_request_rec.incident_distance_qualifier := l_service_request_rec.incident_distance_qualifier;
3259 l_request_rec.incident_distance_qual_uom := l_service_request_rec.incident_distance_qual_uom;
3260 l_request_rec.incident_address2 := l_service_request_rec.incident_address2;
3261 l_request_rec.incident_address3 := l_service_request_rec.incident_address3;
3262 l_request_rec.incident_address4 := l_service_request_rec.incident_address4;
3263 l_request_rec.incident_address_style := l_service_request_rec.incident_address_style;
3264 l_request_rec.incident_addr_lines_phonetic:= l_service_request_rec.incident_addr_lines_phonetic;
3265 l_request_rec.incident_po_box_number := l_service_request_rec.incident_po_box_number;
3266 l_request_rec.incident_house_number := l_service_request_rec.incident_house_number;
3267 l_request_rec.incident_street_suffix := l_service_request_rec.incident_street_suffix;
3268 l_request_rec.incident_street := l_service_request_rec.incident_street;
3269 l_request_rec.incident_street_number := l_service_request_rec.incident_street_number;
3270 l_request_rec.incident_floor := l_service_request_rec.incident_floor;
3271 l_request_rec.incident_suite := l_service_request_rec.incident_suite;
3272 l_request_rec.incident_postal_plus4_code := l_service_request_rec.incident_postal_plus4_code;
3273 l_request_rec.incident_position := l_service_request_rec.incident_position;
3274 l_request_rec.incident_location_directions:= l_service_request_rec.incident_location_directions;
3275 l_request_rec.incident_location_description:= l_service_request_rec.incident_location_description;
3276 l_request_rec.install_site_id := l_service_request_rec.install_site_id;
3277 -- Added incident_location_type for Misc ER project (11.5.10) --anmukher --08/29/03
3278 l_request_rec.incident_location_type := l_service_request_rec.incident_location_type;
3279 l_request_rec.coverage_type := l_service_request_rec.coverage_type;
3280 -- cmro_eam
3281 l_request_rec.owning_dept_id := l_service_request_rec.owning_department_id;
3282 l_request_rec.maint_organization_id := l_service_request_rec.maint_organization_id;
3283 --12.1.2 Dev
3284 l_request_rec.site_number := l_service_request_rec.site_number;
3285 l_request_rec.site_name := l_service_request_rec.site_name;
3286 l_request_rec.addressee := l_service_request_rec.addressee;
3287
3288 /*Credit Card 9358401 */
3289 l_request_rec.instrument_payment_use_id := l_service_request_rec.instrument_payment_use_id;
3290
3291 --siahmed added for 12.2+ project to integrate Oracle Projects with SR
3292 l_request_rec.project_id := l_service_request_rec.project_id;
3293 l_request_rec.project_task_id := l_service_request_rec.project_task_id;
3294 l_request_rec.expenditure_org_id := l_service_request_rec.expenditure_org_id;
3295
3296 --14004721 . Additional SLA dates. shramana
3297 l_request_rec.sla_date_1 := l_service_request_rec.sla_date_1;
3298 l_request_rec.sla_date_2 := l_service_request_rec.sla_date_2;
3299 l_request_rec.sla_date_3 := l_service_request_rec.sla_date_3;
3300 l_request_rec.sla_date_4 := l_service_request_rec.sla_date_4;
3301 l_request_rec.sla_date_5 := l_service_request_rec.sla_date_5;
3302 l_request_rec.sla_date_6 := l_service_request_rec.sla_date_6;
3303 l_request_rec.sla_duration_1 := l_service_request_rec.sla_duration_1;
3304 l_request_rec.sla_duration_2 := l_service_request_rec.sla_duration_2;
3305 --15995804. Add price_list_header_id
3306 l_request_rec.price_list_header_id := l_service_request_rec.price_list_header_id;
3307
3308 --
3309 -- Perform business rule validation and the database operation
3310 -- by calling the Private API.
3311 --
3312 -- p_org_id => l_org_id,
3313
3314 --Have passed p_commit parameter value from PUB to PVT, instead of
3315 --FALSE because the workflow process would fail if we pass FALSE to
3316 --the PVT API.
3317
3318 -- hardcoded the version 4.0 anmukher aug 11 2003
3319
3320 -- For bug 3474365 - passed l_resp_id
3321
3322 --siahmed bug fix for 9494021 where invocation mode is not being passed via public API
3323 l_invocation_mode:=FND_PROFILE.VALUE('CSM_HA_MODE');
3324
3325 if ((l_invocation_mode <> 'HA_APPLY') OR (l_invocation_mode IS NULL) OR (l_invocation_mode = FND_API.G_MISS_CHAR)) THEN
3326 l_invocation_mode := 'NORMAL';
3327 ELSE
3328 l_invocation_mode := 'REPLAY';
3329 END IF;
3330 --siahmed end of bug fix
3331
3332 CS_ServiceRequest_PVT.Update_ServiceRequest
3333 ( p_api_version => 4.0,
3334 p_init_msg_list => FND_API.G_FALSE,
3335 p_commit => p_commit,
3336 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3337 x_return_status => x_return_status,
3338 x_msg_count => x_msg_count,
3339 x_msg_data => x_msg_data,
3340 p_request_id => l_request_id,
3341 p_object_version_number => p_object_version_number,
3342 p_resp_appl_id => p_resp_appl_id,
3343 p_resp_id => l_resp_id,
3344 p_last_updated_by => l_user_id,
3345 p_last_update_login => l_login_id,
3346 p_last_update_date => p_last_update_date,
3347 p_service_request_rec => l_request_rec,
3348 p_invocation_mode => l_invocation_mode,
3349 p_update_desc_flex => l_update_desc_flex,
3350 p_notes => l_notes,
3351 p_contacts => l_contacts,
3352 p_audit_comments => p_audit_comments,
3353 p_called_by_workflow => p_called_by_workflow,
3354 p_workflow_process_id => p_workflow_process_id,
3355 -- x_workflow_process_id => x_sr_update_out_rec.workflow_process_id,
3356 -- x_interaction_id => x_sr_update_out_rec.interaction_id
3357 -- Added for 11.5.10
3358 p_auto_assign => p_auto_assign,
3359 p_validate_sr_closure => p_validate_sr_closure,
3360 p_auto_close_child_entities => p_auto_close_child_entities,
3361 p_default_contract_sla_ind => p_default_contract_sla_ind,
3362 --Add p_auto_generate_tasks for 12.2-Auto Task creation
3363 p_auto_generate_tasks => p_auto_generate_tasks,
3364 x_sr_update_out_rec => l_sr_update_out_rec
3365 );
3366
3367 -- Assign returned values to OUT rec
3368 x_sr_update_out_rec.interaction_id := l_sr_update_out_rec.interaction_id;
3369 x_sr_update_out_rec.workflow_process_id := l_sr_update_out_rec.workflow_process_id;
3370 x_sr_update_out_rec.individual_owner := l_sr_update_out_rec.individual_owner;
3371 x_sr_update_out_rec.group_owner := l_sr_update_out_rec.group_owner;
3372 x_sr_update_out_rec.individual_type := l_sr_update_out_rec.individual_type;
3373 x_sr_update_out_rec.resolved_on_date := l_sr_update_out_rec.resolved_on_date;
3374 x_sr_update_out_rec.responded_on_date := l_sr_update_out_rec.responded_on_date;
3375 x_sr_update_out_rec.status_id := l_sr_update_out_rec.status_id;
3376 x_sr_update_out_rec.close_date := l_sr_update_out_rec.close_date;
3377
3378 IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3379 raise FND_API.G_EXC_ERROR;
3380 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3381 raise FND_API.G_EXC_UNEXPECTED_ERROR;
3382 END IF;
3383
3384 -- Standard check of p_commit
3385 IF FND_API.To_Boolean(p_commit) THEN
3386 COMMIT WORK;
3387 END IF;
3388
3389 -- Standard call to get message count and if count is 1, get message info
3390 FND_MSG_PUB.Count_And_Get
3391 ( p_count => x_msg_count,
3392 p_data => x_msg_data
3393 );
3394
3395 EXCEPTION
3396 WHEN FND_API.G_EXC_ERROR THEN
3397 ROLLBACK TO Update_ServiceRequest_PUB;
3398 x_return_status := FND_API.G_RET_STS_ERROR;
3399 FND_MSG_PUB.Count_And_Get
3400 ( p_count => x_msg_count,
3401 p_data => x_msg_data
3402 );
3403 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3404 ROLLBACK TO Update_ServiceRequest_PUB;
3405 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3406 FND_MSG_PUB.Count_And_Get
3407 ( p_count => x_msg_count,
3408 p_data => x_msg_data
3409 );
3410 WHEN OTHERS THEN
3411 ROLLBACK TO Update_ServiceRequest_PUB;
3412 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3413 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3414 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
3415 END IF;
3416 FND_MSG_PUB.Count_And_Get
3417 ( p_count => x_msg_count,
3418 p_data => x_msg_data
3419 );
3420
3421 END Update_ServiceRequest;
3422
3423 -- -------------------------------------------------------------------
3424 -- Update_Status
3425 -- -------------------------------------------------------------------
3426
3427 PROCEDURE Update_Status
3428 ( p_api_version IN NUMBER,
3429 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3430 p_commit IN VARCHAR2 := FND_API.G_FALSE,
3431 x_return_status OUT NOCOPY VARCHAR2,
3432 x_msg_count OUT NOCOPY NUMBER,
3433 x_msg_data OUT NOCOPY VARCHAR2,
3434 p_resp_appl_id IN NUMBER := NULL,
3435 p_resp_id IN NUMBER := NULL,
3436 p_user_id IN NUMBER := NULL,
3437 p_login_id IN NUMBER := FND_API.G_MISS_NUM,
3438 p_request_id IN NUMBER := NULL,
3439 p_request_number IN VARCHAR2 := NULL,
3440 p_object_version_number IN NUMBER,
3441 p_status_id IN NUMBER := NULL,
3442 p_status IN VARCHAR2 := NULL,
3443 p_closed_date IN DATE := FND_API.G_MISS_DATE,
3444 p_audit_comments IN VARCHAR2 := NULL,
3445 p_called_by_workflow IN VARCHAR2 := FND_API.G_FALSE,
3446 p_workflow_process_id IN NUMBER := NULL,
3447 p_comments IN VARCHAR2 := NULL,
3448 p_public_comment_flag IN VARCHAR2 := FND_API.G_FALSE,
3449 -- for bug 3326813
3450 p_validate_sr_closure IN VARCHAR2 Default 'N',
3451 p_auto_close_child_entities IN VARCHAR2 Default 'N',
3452 --Add p_auto_generate_tasks for 12.2-Auto Task creation
3453 p_auto_generate_tasks IN VARCHAR2 Default 'N',
3454 x_interaction_id OUT NOCOPY NUMBER
3455 )
3456 IS
3457 l_api_name CONSTANT VARCHAR2(30) := 'Update_Status';
3458 l_api_version CONSTANT NUMBER := 2.0;
3459 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
3460 l_log_module CONSTANT VARCHAR2(255) := 'cs.plsql.' || l_api_name_full || '.';
3461 l_return_status VARCHAR2(1);
3462 l_resp_appl_id NUMBER := p_resp_appl_id;
3463 l_resp_id NUMBER := p_resp_id;
3464 l_user_id NUMBER := p_user_id;
3465 l_login_id NUMBER := p_login_id;
3466 l_org_id NUMBER ;
3467 l_dummy_id NUMBER := NULL;
3468 l_request_id NUMBER;
3469 l_status_id NUMBER;
3470 l_public_comment_flag VARCHAR2(1) := p_public_comment_flag;
3471
3472 BEGIN
3473 -- ---------------------------------------
3474 -- Standard API stuff
3475 -- ---------------------------------------
3476
3477 -- Establish savepoint
3478 SAVEPOINT Update_Status_PUB;
3479
3480 --BUG 3630159:
3481 --Added to clear message cache in case of API call wrong version.
3482 -- Initialize message list if p_init_msg_list is set to TRUE
3483 IF FND_API.To_Boolean(p_init_msg_list) THEN
3484 FND_MSG_PUB.Initialize;
3485 END IF;
3486
3487 -- Check version number
3488 IF NOT FND_API.Compatible_API_Call( l_api_version,
3489 p_api_version,
3490 l_api_name,
3491 G_PKG_NAME ) THEN
3492 -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR; #BUG 3630127
3493 RAISE FND_API.G_EXC_ERROR;
3494 END IF;
3495
3496 -- Initialize return status to SUCCESS
3497 x_return_status := FND_API.G_RET_STS_SUCCESS;
3498
3499 ----------------------- FND Logging -----------------------------------
3500 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
3501 THEN
3502 FND_LOG.String
3503 ( FND_LOG.level_procedure , L_LOG_MODULE || 'start'
3504 , 'Inside ' || L_API_NAME_FULL || ', called with parameters below:'
3505 );
3506 FND_LOG.String
3507 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3508 , 'p_api_version:' || p_api_version
3509 );
3510 FND_LOG.String
3511 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3512 , 'p_init_msg_list:' || p_init_msg_list
3513 );
3514 FND_LOG.String
3515 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3516 , 'p_commit:' || p_commit
3517 );
3518 FND_LOG.String
3519 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3520 , 'p_resp_appl_id:' || p_resp_appl_id
3521 );
3522 FND_LOG.String
3523 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3524 , 'p_resp_id:' || p_resp_id
3525 );
3526 FND_LOG.String
3527 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3528 , 'P_audit_comments:' || P_audit_comments
3529 );
3530 FND_LOG.String
3531 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3532 , 'P_object_version_number:' || P_object_version_number
3533 );
3534 FND_LOG.String
3535 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3536 , 'P_user_id:' || P_user_id
3537 );
3538 FND_LOG.String
3539 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3540 , 'P_login_id:' || P_login_id
3541 );
3542 FND_LOG.String
3543 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3544 , 'P_status_id:' || P_status_id
3545 );
3546 FND_LOG.String
3547 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3548 , 'P_status:' || P_status
3549 );
3550 FND_LOG.String
3551 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3552 , 'P_Closed_date:' || P_Closed_date
3553 );
3554 FND_LOG.String
3555 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3556 , 'p_request_id:' || p_request_id
3557 );
3558 FND_LOG.String
3559 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3560 , 'p_request_number:' || p_request_number
3561 );
3562 FND_LOG.String
3563 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3564 , 'P_Public_Comment_Flag:' || P_Public_Comment_Flag
3565 );
3566 FND_LOG.String
3567 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3568 , 'P_Called_by_workflow:' || P_Called_by_workflow
3569 );
3570 FND_LOG.String
3571 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3572 , 'P_Workflow_process_id:' || P_Workflow_process_id
3573 );
3574 FND_LOG.String
3575 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3576 , 'P_Validate_SR_Closure:' || P_Validate_SR_Closure
3577 );
3578 FND_LOG.String
3579 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3580 , 'P_Auto_Close_Child_Entities:' || P_Auto_Close_Child_Entities
3581 );
3582 FND_LOG.String
3583 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3584 , 'P_auto_generate_tasks:' || P_auto_generate_tasks
3585 );
3586
3587 END IF;
3588
3589 -- ------------------------------------------------------------
3590 -- First get the default information
3591 -- ------------------------------------------------------------
3592 Get_Default_Values(
3593 p_api_name => l_api_name_full,
3594 p_org_id => l_org_id,
3595 p_resp_appl_id => l_resp_appl_id,
3596 p_resp_id => l_resp_id,
3597 p_user_id => l_user_id,
3598 p_login_id => l_login_id,
3599 p_inventory_org_id => l_dummy_id,
3600 p_request_id => p_request_id,
3601 p_request_number => p_request_number,
3602 p_request_id_out => l_request_id,
3603 p_return_status => l_return_status );
3604
3605 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
3606 raise FND_API.G_EXC_ERROR;
3607 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3608 raise FND_API.G_EXC_UNEXPECTED_ERROR;
3609 END IF;
3610
3611 -- -------------------------------------------------------
3612 -- Make sure that either status or status ID is passed in
3613 -- -------------------------------------------------------
3614 IF (p_status_id IS NULL) THEN
3615 IF (p_status IS NULL) THEN
3616
3617 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
3618 p_token_an => l_api_name_full,
3619 p_token_np => 'p_status_id' );
3620 RAISE FND_API.G_EXC_ERROR;
3621
3622 ELSE
3623
3624 CS_ServiceRequest_UTIL.Convert_Status_To_ID(
3625 p_api_name => l_api_name_full,
3626 p_parameter_name => 'p_status',
3627 p_status_name => p_status,
3628 p_subtype => G_SR_Subtype,
3629 p_status_id => l_status_id,
3630 x_return_status => l_return_status
3631 );
3632 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
3633 raise FND_API.G_EXC_ERROR;
3634 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3635 raise FND_API.G_EXC_UNEXPECTED_ERROR;
3636 END IF;
3637
3638 END IF;
3639
3640 ELSE
3641 l_status_id := p_status_id;
3642 IF (p_status IS NOT NULL) THEN
3643 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(
3644 p_token_an => l_api_name_full,
3645 p_token_ip => 'p_status' );
3646 END IF;
3647 END IF;
3648
3649 -- Convert the public comment flag
3650 IF (p_public_comment_flag = FND_API.G_FALSE) THEN
3651 l_public_comment_flag := 'N';
3652 ELSIF (p_public_comment_flag = FND_API.G_TRUE) THEN
3653 l_public_comment_flag := 'Y';
3654 ELSIF (p_public_comment_flag IS NOT NULL) THEN
3655 CS_ServiceRequest_UTIL.Add_Invalid_Argument_Msg(l_api_name_full,
3656 p_public_comment_flag, 'p_public_comment_flag');
3657 RAISE FND_API.G_EXC_ERROR;
3658 END IF;
3659
3660 -- -------------------------------------------
3661 -- Call the private API to update the status
3662 -- -------------------------------------------
3663 CS_ServiceRequest_PVT.Update_Status (
3664 p_api_version => 2.0,
3665 p_init_msg_list => FND_API.G_FALSE,
3666 p_commit => FND_API.G_FALSE,
3667 p_resp_id => p_resp_id,
3668 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3669 x_return_status => l_return_status,
3670 x_msg_count => x_msg_count,
3671 x_msg_data => x_msg_data,
3672 p_request_id => l_request_id,
3673 p_object_version_number => p_object_version_number,
3674 p_status_id => l_status_id,
3675 p_closed_date => p_closed_date,
3676 p_last_updated_by => l_user_id,
3677 p_last_update_login => l_login_id,
3678 p_last_update_date => sysdate,
3679 p_audit_comments => p_audit_comments,
3680 p_called_by_workflow => p_called_by_workflow,
3681 p_comments => p_comments,
3682 p_public_comment_flag => l_public_comment_flag,
3683 x_interaction_id => x_interaction_id,
3684 -- for bug 3326813
3685 p_validate_sr_closure => p_validate_sr_closure,
3686 --Add p_auto_generate_tasks for 12.2-Auto Task creation
3687 p_auto_generate_tasks => p_auto_generate_tasks,
3688 p_auto_close_child_entities => p_auto_close_child_entities);
3689
3690 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
3691 raise FND_API.G_EXC_ERROR;
3692 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3693 raise FND_API.G_EXC_UNEXPECTED_ERROR;
3694 END IF;
3695
3696 -- -----------------------------
3697 -- Commit, if requested
3698 -- -----------------------------
3699 IF FND_API.To_Boolean( p_commit ) THEN
3700 COMMIT WORK;
3701 END IF;
3702
3703 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
3704 p_data => x_msg_data );
3705
3706 EXCEPTION
3707 WHEN FND_API.G_EXC_ERROR THEN
3708 ROLLBACK TO Update_Status_PUB;
3709 x_return_status := FND_API.G_RET_STS_ERROR;
3710 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
3711 p_data => x_msg_data );
3712
3713 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3714 ROLLBACK TO Update_Status_PUB;
3715 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3716 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
3717 p_data => x_msg_data );
3718
3719 WHEN OTHERS THEN
3720 ROLLBACK TO Update_Status_PUB;
3721 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3722 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3723 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
3724 l_api_name );
3725 END IF;
3726 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
3727 p_data => x_msg_data );
3728
3729 END Update_Status;
3730
3731 -- -------------------------------------------------------------------
3732 -- Update_Severity
3733 -- -------------------------------------------------------------------
3734
3735 PROCEDURE Update_Severity
3736 ( p_api_version IN NUMBER,
3737 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3738 p_commit IN VARCHAR2 := FND_API.G_FALSE,
3739 x_return_status OUT NOCOPY VARCHAR2,
3740 x_msg_count OUT NOCOPY NUMBER,
3741 x_msg_data OUT NOCOPY VARCHAR2,
3742 p_resp_appl_id IN NUMBER := NULL,
3743 p_resp_id IN NUMBER := NULL,
3744 p_user_id IN NUMBER := NULL,
3745 p_login_id IN NUMBER := FND_API.G_MISS_NUM,
3746 p_request_id IN NUMBER := NULL,
3747 p_request_number IN VARCHAR2 := NULL,
3748 p_object_version_number IN NUMBER,
3749 p_severity_id IN NUMBER := NULL,
3750 p_severity IN VARCHAR2 := NULL,
3751 p_audit_comments IN VARCHAR2 := NULL,
3752 p_comments IN VARCHAR2 := NULL,
3753 p_public_comment_flag IN VARCHAR2 := FND_API.G_FALSE,
3754 x_interaction_id OUT NOCOPY NUMBER
3755 )
3756 IS
3757
3758 BEGIN
3759 NULL;
3760 END Update_Severity;
3761
3762
3763 -- -------------------------------------------------------------------
3764 -- Update_Urgency
3765 -- -------------------------------------------------------------------
3766
3767 PROCEDURE Update_Urgency
3768 ( p_api_version IN NUMBER,
3769 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3770 p_commit IN VARCHAR2 := FND_API.G_FALSE,
3771 x_return_status OUT NOCOPY VARCHAR2,
3772 x_msg_count OUT NOCOPY NUMBER,
3773 x_msg_data OUT NOCOPY VARCHAR2,
3774 p_resp_appl_id IN NUMBER := NULL,
3775 p_resp_id IN NUMBER := NULL,
3776 p_user_id IN NUMBER := NULL,
3777 p_login_id IN NUMBER := FND_API.G_MISS_NUM,
3778 p_request_id IN NUMBER := NULL,
3779 p_request_number IN VARCHAR2 := NULL,
3780 p_object_version_number IN NUMBER,
3781 p_urgency_id IN NUMBER := FND_API.G_MISS_NUM,
3782 p_urgency IN VARCHAR2 := FND_API.G_MISS_CHAR,
3783 p_audit_comments IN VARCHAR2 := NULL,
3784 p_comments IN VARCHAR2 := NULL,
3785 p_public_comment_flag IN VARCHAR2 := FND_API.G_FALSE,
3786 x_interaction_id OUT NOCOPY NUMBER
3787 )
3788 IS
3789 BEGIN
3790 NULL;
3791 END Update_Urgency;
3792
3793 -- -------------------------------------------------------------------
3794 -- Update_Owner
3795 -- -------------------------------------------------------------------
3796
3797 PROCEDURE Update_Owner
3798 ( p_api_version IN NUMBER,
3799 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3800 p_commit IN VARCHAR2 := FND_API.G_FALSE,
3801 x_return_status OUT NOCOPY VARCHAR2,
3802 x_msg_count OUT NOCOPY NUMBER,
3803 x_msg_data OUT NOCOPY VARCHAR2,
3804 p_resp_appl_id IN NUMBER := NULL,
3805 p_resp_id IN NUMBER := NULL,
3806 p_user_id IN NUMBER := NULL,
3807 p_login_id IN NUMBER := FND_API.G_MISS_NUM,
3808 p_request_id IN NUMBER := NULL,
3809 p_request_number IN VARCHAR2 := NULL,
3810 p_object_version_number IN NUMBER,
3811 p_owner_id IN NUMBER,
3812 p_owner_group_id IN NUMBER,
3813 p_resource_type IN VARCHAR2,
3814 p_audit_comments IN VARCHAR2 := NULL,
3815 p_called_by_workflow IN VARCHAR2 := FND_API.G_FALSE,
3816 p_workflow_process_id IN NUMBER := NULL,
3817 p_comments IN VARCHAR2 := NULL,
3818 p_public_comment_flag IN VARCHAR2 := FND_API.G_FALSE,
3819 x_interaction_id OUT NOCOPY NUMBER
3820 )
3821 IS
3822 l_api_name CONSTANT VARCHAR2(30) := 'Update_Owner';
3823 l_api_version CONSTANT NUMBER := 2.0;
3824 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
3825 l_log_module CONSTANT VARCHAR2(255) := 'cs.plsql.' || l_api_name_full || '.';
3826 l_return_status VARCHAR2(1);
3827 l_resp_appl_id NUMBER := p_resp_appl_id;
3828 l_resp_id NUMBER := p_resp_id;
3829 l_user_id NUMBER := p_user_id;
3830 l_login_id NUMBER := p_login_id;
3831 l_org_id NUMBER ;
3832 l_dummy_id NUMBER := NULL;
3833 l_request_id NUMBER;
3834 l_public_comment_flag VARCHAR2(1) := p_public_comment_flag;
3835
3836 BEGIN
3837 -- ---------------------------------------
3838 -- Standard API stuff
3839 -- ---------------------------------------
3840
3841 -- Establish savepoint
3842 SAVEPOINT Update_Owner_PUB;
3843
3844 --BUG 3630159:
3845 --Added to clear message cache in case of API call wrong version.
3846 -- Initialize message list if p_init_msg_list is set to TRUE
3847 IF FND_API.To_Boolean(p_init_msg_list) THEN
3848 FND_MSG_PUB.Initialize;
3849 END IF;
3850
3851 -- Check version number
3852 IF NOT FND_API.Compatible_API_Call( l_api_version,
3853 p_api_version,
3854 l_api_name,
3855 G_PKG_NAME ) THEN
3856 -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR; #BUG 3630127
3857 RAISE FND_API.G_EXC_ERROR;
3858 END IF;
3859
3860 -- Initialize return status to SUCCESS
3861 x_return_status := FND_API.G_RET_STS_SUCCESS;
3862
3863 ----------------------- FND Logging -----------------------------------
3864 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
3865 THEN
3866 FND_LOG.String
3867 ( FND_LOG.level_procedure , L_LOG_MODULE || 'start'
3868 , 'Inside ' || L_API_NAME_FULL || ', called with parameters below:'
3869 );
3870 FND_LOG.String
3871 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3872 , 'p_api_version:' || p_api_version
3873 );
3874 FND_LOG.String
3875 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3876 , 'p_init_msg_list:' || p_init_msg_list
3877 );
3878 FND_LOG.String
3879 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3880 , 'p_commit:' || p_commit
3881 );
3882 FND_LOG.String
3883 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3884 , 'p_resp_appl_id:' || p_resp_appl_id
3885 );
3886 FND_LOG.String
3887 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3888 , 'p_resp_id:' || p_resp_id
3889 );
3890 FND_LOG.String
3891 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3892 , 'P_audit_comments:' || P_audit_comments
3893 );
3894 FND_LOG.String
3895 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3896 , 'P_object_version_number:' || P_object_version_number
3897 );
3898 FND_LOG.String
3899 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3900 , 'P_user_id:' || P_user_id
3901 );
3902 FND_LOG.String
3903 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3904 , 'P_login_id:' || P_login_id
3905 );
3906 FND_LOG.String
3907 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3908 , 'P_owner_id:' || P_owner_id
3909 );
3910 FND_LOG.String
3911 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3912 , 'P_owner_group_id:' || P_owner_group_id
3913 );
3914 FND_LOG.String
3915 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3916 , 'P_Resource_Type:' || P_Resource_Type
3917 );
3918 FND_LOG.String
3919 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3920 , 'p_request_id:' || p_request_id
3921 );
3922 FND_LOG.String
3923 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3924 , 'p_request_number:' || p_request_number
3925 );
3926 FND_LOG.String
3927 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3928 , 'P_Public_Comment_Flag:' || P_Public_Comment_Flag
3929 );
3930 FND_LOG.String
3931 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3932 , 'P_Called_by_workflow:' || P_Called_by_workflow
3933 );
3934 FND_LOG.String
3935 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3936 , 'P_Workflow_process_id:' || P_Workflow_process_id
3937 );
3938 FND_LOG.String
3939 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3940 , 'P_audit_comments:' || P_audit_comments
3941 );
3942 FND_LOG.String
3943 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
3944 , 'P_Comments:' || P_Comments
3945 );
3946
3947 END IF;
3948
3949 -- ------------------------------------------------------------
3950 -- First get the default information
3951 -- ------------------------------------------------------------
3952 Get_Default_Values(
3953 p_api_name => l_api_name_full,
3954 p_org_id => l_org_id,
3955 p_resp_appl_id => l_resp_appl_id,
3956 p_resp_id => l_resp_id,
3957 p_user_id => l_user_id,
3958 p_login_id => l_login_id,
3959 p_inventory_org_id => l_dummy_id,
3960 p_request_id => p_request_id,
3961 p_request_number => p_request_number,
3962 p_request_id_out => l_request_id,
3963 p_return_status => l_return_status );
3964
3965 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
3966 raise FND_API.G_EXC_ERROR;
3967 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3968 raise FND_API.G_EXC_UNEXPECTED_ERROR;
3969 END IF;
3970
3971 -- -------------------------------------------
3972 -- Make sure the owner ID is not null
3973 -- -------------------------------------------
3974 IF (p_owner_id IS NULL) THEN
3975 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
3976 p_token_an => l_api_name_full,
3977 p_token_np => 'p_owner_id' );
3978 raise FND_API.G_EXC_ERROR;
3979 END IF;
3980
3981 -- Convert the public comment flag
3982 IF (p_public_comment_flag = FND_API.G_FALSE) THEN
3983 l_public_comment_flag := 'N';
3984 ELSIF (p_public_comment_flag = FND_API.G_TRUE) THEN
3985 l_public_comment_flag := 'Y';
3986 ELSIF (p_public_comment_flag IS NOT NULL) THEN
3987 CS_ServiceRequest_UTIL.Add_Invalid_Argument_Msg(l_api_name_full,
3988 p_public_comment_flag, 'p_public_comment_flag');
3989 RAISE FND_API.G_EXC_ERROR;
3990 END IF;
3991
3992 -- -------------------------------------------
3993 -- Call the private API to update the owner
3994 -- -------------------------------------------
3995 CS_ServiceRequest_PVT.Update_Owner (
3996 p_api_version => 2.0,
3997 p_init_msg_list => FND_API.G_FALSE,
3998 p_commit => FND_API.G_FALSE,
3999 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4000 x_return_status => l_return_status,
4001 x_msg_count => x_msg_count,
4002 x_msg_data => x_msg_data,
4003 p_request_id => l_request_id,
4004 p_object_version_number => p_object_version_number,
4005 p_resp_id => l_resp_id,
4006 p_resp_appl_id => l_resp_appl_id,
4007 p_owner_id => p_owner_id,
4008 p_owner_group_id => p_owner_group_id,
4009 p_resource_type => p_resource_type,
4010 p_last_updated_by => l_user_id,
4011 p_last_update_login => l_login_id,
4012 p_last_update_date => sysdate,
4013 p_audit_comments => p_audit_comments,
4014 p_called_by_workflow => p_called_by_workflow,
4015 p_comments => p_comments,
4016 p_public_comment_flag => l_public_comment_flag,
4017 x_interaction_id => x_interaction_id );
4018
4019 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4020 raise FND_API.G_EXC_ERROR;
4021 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4022 raise FND_API.G_EXC_UNEXPECTED_ERROR;
4023 END IF;
4024
4025 -- -----------------------------
4026 -- Commit, if requested
4027 -- -----------------------------
4028 IF FND_API.To_Boolean( p_commit ) THEN
4029 COMMIT WORK;
4030 END IF;
4031
4032 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
4033 p_data => x_msg_data );
4034
4035 EXCEPTION
4036 WHEN FND_API.G_EXC_ERROR THEN
4037 ROLLBACK TO Update_Owner_PUB;
4038 x_return_status := FND_API.G_RET_STS_ERROR;
4039 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
4040 p_data => x_msg_data );
4041
4042 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4043 ROLLBACK TO Update_Owner_PUB;
4044 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4045 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
4046 p_data => x_msg_data );
4047
4048 WHEN OTHERS THEN
4049 ROLLBACK TO Update_Owner_PUB;
4050 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4051 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4052 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
4053 l_api_name );
4054 END IF;
4055 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
4056 p_data => x_msg_data );
4057
4058 END Update_Owner;
4059
4060
4061 -- -------------------------------------------------------------------
4062 -- Update_Problem_Code
4063 -- -------------------------------------------------------------------
4064
4065 PROCEDURE Update_Problem_Code
4066 ( p_api_version IN NUMBER,
4067 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
4068 p_commit IN VARCHAR2 := FND_API.G_FALSE,
4069 x_return_status OUT NOCOPY VARCHAR2,
4070 x_msg_count OUT NOCOPY NUMBER,
4071 x_msg_data OUT NOCOPY VARCHAR2,
4072 p_resp_appl_id IN NUMBER := NULL,
4073 p_resp_id IN NUMBER := NULL,
4074 p_user_id IN NUMBER := NULL,
4075 p_login_id IN NUMBER := FND_API.G_MISS_NUM,
4076 p_request_id IN NUMBER := NULL,
4077 p_request_number IN VARCHAR2 := NULL,
4078 p_object_version_number IN NUMBER,
4079 p_problem_code IN VARCHAR2,
4080 p_comments IN VARCHAR2 := NULL,
4081 p_public_comment_flag IN VARCHAR2 := FND_API.G_FALSE,
4082 x_interaction_id OUT NOCOPY NUMBER
4083 )
4084 IS
4085 BEGIN
4086 NULL;
4087 END Update_Problem_Code;
4088
4089
4090 /***************************************************************************
4091 * Body of Local Procedures *
4092 ***************************************************************************/
4093
4094 -- -------------------------------------------------------------------
4095 -- Default_Other_Attributes
4096 -- -------------------------------------------------------------------
4097 -- Modification History
4098 -- Date Name Description
4099 ----------- -------- -----------------------------------------------------------
4100 -- 05/04/05 smisra Removed defaulting of ORG_ID based on client_info and
4101 -- profile option ORG_ID
4102 --------------------------------------------------------------------------------
4103 PROCEDURE Default_Other_Attributes
4104 ( p_api_name IN VARCHAR2,
4105 p_resp_appl_id IN OUT NOCOPY NUMBER,
4106 p_resp_id IN OUT NOCOPY NUMBER,
4107 p_user_id IN OUT NOCOPY NUMBER,
4108 p_login_id IN OUT NOCOPY NUMBER,
4109 p_org_id IN OUT NOCOPY NUMBER,
4110 p_inventory_org_id IN OUT NOCOPY NUMBER,
4111 p_return_status OUT NOCOPY VARCHAR2
4112 )
4113 IS
4114 l_api_name CONSTANT VARCHAR2(30) := 'Default_Other_Attributes';
4115 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
4116 l_log_module CONSTANT VARCHAR2(255) := 'cs.plsql.' || l_api_name_full || '.';
4117
4118 BEGIN
4119 -- Initialize API return status to success
4120 p_return_status := FND_API.G_RET_STS_SUCCESS;
4121
4122 -- ----------------------------------------------------------------------
4123 -- FND_GLOBAL.RESP_APPL_ID, FND_GLOBAL.RESP_ID, and FND_GLOBAL.LOGIN_ID
4124 -- returns -1 by default, which is an invalid value. FND_GLOBAL.USER_ID
4125 -- is okay, because user ID -1 corresponds to user 'ANONYMOUS.' If
4126 -- FND_GLOBAL returns -1, the variables are set to NULL instead.
4127 -- ----------------------------------------------------------------------
4128
4129 IF ((p_resp_appl_id IS NULL) AND (FND_GLOBAL.RESP_APPL_ID <> -1)) THEN
4130 -- ID is not passed in, return the default.
4131 p_resp_appl_id := FND_GLOBAL.RESP_APPL_ID;
4132
4133 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
4134 THEN
4135 FND_LOG.String
4136 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4137 , 'The Value of profile FND_GLOBAL.RESP_APPL_ID :' || p_resp_appl_id
4138 );
4139 END IF;
4140 END IF;
4141
4142 IF ((p_resp_id IS NULL) AND (FND_GLOBAL.RESP_ID <> -1)) THEN
4143 p_resp_id := FND_GLOBAL.RESP_ID;
4144
4145 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
4146 THEN
4147 FND_LOG.String
4148 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4149 , 'The Value of profile FND_GLOBAL.RESP_ID :' || p_resp_id
4150 );
4151 END IF;
4152 END IF;
4153
4154 IF (p_user_id IS NULL) THEN
4155 p_user_id := FND_GLOBAL.USER_ID;
4156
4157 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
4158 THEN
4159 FND_LOG.String
4160 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4161 , 'The Value of profile FND_GLOBAL.USER_ID :' || p_user_id
4162 );
4163 END IF;
4164 END IF;
4165
4166 IF ((p_login_id = FND_API.G_MISS_NUM) AND
4167 (FND_GLOBAL.LOGIN_ID NOT IN (-1,0))) THEN
4168 p_login_id := FND_GLOBAL.LOGIN_ID;
4169
4170 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
4171 THEN
4172 FND_LOG.String
4173 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4174 , 'The Value of profile FND_GLOBAL.LOGIN_ID :' || p_login_id
4175 );
4176 END IF;
4177 ELSE
4178 p_login_id := NULL;
4179 END IF;
4180
4181 -- The below has been replaced as per new changes
4182 -- p_inventory_org_id :=
4183 -- TO_NUMBER(FND_PROFILE.Value_Specific('SO_ORGANIZATION_ID', p_user_id, p_resp_id, p_resp_appl_id));
4184 END Default_Other_Attributes;
4185
4186
4187 -- -------------------------------------------------------------------
4188 /* Convert_Request_Val_To_ID
4189 02/18/03 pkesani .
4190 This Procedure is called during create and update of the SR.
4191 Create
4192 If the Id = G_MISS_NUM
4193 Name = Valid value -> Id for the name is saved.
4194 Name = Invalid value -> Raise Error.
4195 Name = NULL -> Id is set to NULL.
4196 Name = G_MISS_CHAR -> Id is set to Default value.
4197 If the Id = NULL
4198 Name is ignored ,Id is set to NULL.
4199 If the Id = Value
4200 Name is ignored ,Id is validated.
4201 Update
4202 If the Id = G_MISS_NUM
4203 Name = Valid value -> Id for the name is saved.
4204 Name = Invalid value -> Raise Error.
4205 Name = NULL -> Id is set to NULL.
4206 Name = G_MISS_CHAR -> No change is made.
4207 If the Id = NULL
4208 Name is ignored ,Id is set to NULL.
4209 If the Id = Value
4210 Name is ignored ,Id is validated and Updated.
4211 */
4212 -- -------------------------------------------------------------------
4213
4214 PROCEDURE Convert_Request_Val_To_ID
4215 ( p_api_name IN VARCHAR2,
4216 p_org_id IN NUMBER := NULL,
4217 p_request_conv_rec IN OUT NOCOPY Request_Conversion_Rec_Type,
4218 p_return_status OUT NOCOPY VARCHAR2
4219 )
4220 IS
4221 l_return_status VARCHAR2(1);
4222 BEGIN
4223 -- Initialize API return status to success
4224 p_return_status := FND_API.G_RET_STS_SUCCESS;
4225
4226 IF ((p_request_conv_rec.type_id <> FND_API.G_MISS_NUM) OR
4227 (p_request_conv_rec.type_id IS NULL)) THEN
4228 IF (p_request_conv_rec.type_name <> FND_API.G_MISS_CHAR) THEN
4229 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(p_api_name, 'p_type_name');
4230 END IF;
4231 ELSE
4232 IF (p_request_conv_rec.type_name <> FND_API.G_MISS_CHAR) THEN
4233 CS_ServiceRequest_UTIL.Convert_Type_To_ID
4234 ( p_api_name => p_api_name,
4235 p_parameter_name => 'p_type_name',
4236 p_type_name => p_request_conv_rec.type_name,
4237 p_subtype => CS_ServiceRequest_PUB.G_SR_SUBTYPE,
4238 p_type_id => p_request_conv_rec.type_id,
4239 x_return_status => l_return_status
4240 );
4241 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4242 RAISE FND_API.G_EXC_ERROR;
4243 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4244 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4245 END IF;
4246 ELSIF (p_request_conv_rec.type_name IS NULL) THEN
4247 p_request_conv_rec.type_id := NULL;
4248 END IF;
4249 END IF;
4250
4251 IF ((p_request_conv_rec.status_id <> FND_API.G_MISS_NUM) OR
4252 (p_request_conv_rec.status_id IS NULL)) THEN
4253 IF (p_request_conv_rec.status_name <> FND_API.G_MISS_CHAR) THEN
4254 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(p_api_name, 'p_status_name');
4255 END IF;
4256 ELSE
4257 IF (p_request_conv_rec.status_name <> FND_API.G_MISS_CHAR) THEN
4258 CS_ServiceRequest_UTIL.Convert_Status_To_ID
4259 ( p_api_name => p_api_name,
4260 p_parameter_name => 'p_status_name',
4261 p_status_name => p_request_conv_rec.status_name,
4262 p_subtype => CS_ServiceRequest_PUB.G_SR_SUBTYPE,
4263 p_status_id => p_request_conv_rec.status_id,
4264 x_return_status => l_return_status
4265 );
4266 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4267 RAISE FND_API.G_EXC_ERROR;
4268 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4269 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4270 END IF;
4271 ELSIF (p_request_conv_rec.status_name IS NULL) THEN
4272 p_request_conv_rec.status_id := NULL;
4273 END IF;
4274 END IF;
4275
4276 IF ((p_request_conv_rec.severity_id <> FND_API.G_MISS_NUM) OR
4277 (p_request_conv_rec.severity_id IS NULL)) THEN
4278 IF (p_request_conv_rec.severity_name <> FND_API.G_MISS_CHAR) THEN
4279 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(p_api_name, 'p_severity_name');
4280 END IF;
4281 ELSE
4282 IF (p_request_conv_rec.severity_name <> FND_API.G_MISS_CHAR) THEN
4283 CS_ServiceRequest_UTIL.Convert_Severity_To_ID
4284 ( p_api_name => p_api_name,
4285 p_parameter_name => 'p_severity_name',
4286 p_severity_name => p_request_conv_rec.severity_name,
4287 p_subtype => CS_ServiceRequest_PUB.G_SR_SUBTYPE,
4288 p_severity_id => p_request_conv_rec.severity_id,
4289 x_return_status => l_return_status
4290 );
4291 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4292 RAISE FND_API.G_EXC_ERROR;
4293 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4294 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4295 END IF;
4296 ELSIF (p_request_conv_rec.severity_name IS NULL) THEN
4297 p_request_conv_rec.severity_id := NULL;
4298 END IF;
4299 END IF;
4300
4301 IF ((p_request_conv_rec.urgency_id <> FND_API.G_MISS_NUM) OR
4302 (p_request_conv_rec.urgency_id IS NULL)) THEN --- BUG 2735073
4303 IF (p_request_conv_rec.urgency_name <> FND_API.G_MISS_CHAR) THEN
4304 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(p_api_name,
4305 'p_urgency_name');
4306 END IF;
4307 ELSE
4308 IF (p_request_conv_rec.urgency_name <> FND_API.G_MISS_CHAR) THEN
4309 CS_ServiceRequest_UTIL.Convert_Urgency_To_ID
4310 ( p_api_name => p_api_name,
4311 p_parameter_name => 'p_urgency_name',
4312 p_urgency_name => p_request_conv_rec.urgency_name,
4313 p_urgency_id => p_request_conv_rec.urgency_id,
4314 x_return_status => l_return_status
4315 );
4316 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4317 RAISE FND_API.G_EXC_ERROR;
4318 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4319 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4320 END IF;
4321 ELSIF (p_request_conv_rec.urgency_name IS NULL) THEN
4322 p_request_conv_rec.urgency_id := NULL;
4323 END IF;
4324 END IF;
4325
4326 -- added by siahmed for resolving publish flag update issue
4327 -- the flag is not updated if N or Y is passed but rather expects true or false to be passed
4328 -- keep the true false and adding capability to apass Y or N as well. Other code might be using
4329 -- using it as true false on the customer side.
4330 IF (p_request_conv_rec.publish_flag <> FND_API.G_MISS_CHAR) THEN
4331 IF (p_request_conv_rec.publish_flag = FND_API.G_TRUE OR p_request_conv_rec.publish_flag = 'Y') THEN
4332 p_request_conv_rec.publish_flag := 'Y';
4333 ELSIF (p_request_conv_rec.publish_flag = FND_API.G_FALSE OR p_request_conv_rec.publish_flag = 'N') THEN
4334 p_request_conv_rec.publish_flag := 'N';
4335 ELSIF (p_request_conv_rec.publish_flag IS NOT NULL) THEN
4336 CS_ServiceRequest_UTIL.Add_Invalid_Argument_Msg(p_api_name,
4337 p_request_conv_rec.publish_flag, 'p_publish_flag');
4338 RAISE FND_API.G_EXC_ERROR;
4339 END IF;
4340 END IF;
4341
4342 IF ((p_request_conv_rec.employee_id <> FND_API.G_MISS_NUM) OR
4343 (p_request_conv_rec.employee_id IS NULL)) THEN
4344 IF (p_request_conv_rec.employee_number <> FND_API.G_MISS_CHAR) THEN
4345 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(p_api_name, 'p_employee_number');
4346 END IF;
4347 ELSE
4348 IF (p_request_conv_rec.employee_number <> FND_API.G_MISS_CHAR) THEN
4349 CS_ServiceRequest_UTIL.Convert_Employee_To_ID
4350 ( p_api_name => p_api_name,
4351 p_parameter_name_nb => 'p_employee_number',
4352 p_employee_number => p_request_conv_rec.employee_number,
4353 p_employee_id => p_request_conv_rec.employee_id,
4354 x_return_status => l_return_status
4355 );
4356 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4357 RAISE FND_API.G_EXC_ERROR;
4358 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4359 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4360 END IF;
4361 ELSIF (p_request_conv_rec.employee_number IS NULL) THEN
4362 p_request_conv_rec.employee_id := NULL;
4363 END IF;
4364 END IF;
4365
4366 IF ((p_request_conv_rec.customer_product_id <> FND_API.G_MISS_NUM) OR
4367 (p_request_conv_rec.customer_product_id IS NULL)) THEN
4368 IF (p_request_conv_rec.cp_ref_number <> FND_API.G_MISS_NUM) THEN
4369 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(p_api_name,
4370 'p_cp_ref_number');
4371 END IF;
4372 ELSE
4373 IF (p_request_conv_rec.cp_ref_number <> FND_API.G_MISS_NUM) THEN
4374 CS_ServiceRequest_UTIL.Convert_CP_Ref_Number_To_ID
4375 ( p_api_name => p_api_name,
4376 p_parameter_name => 'p_cp_ref_number',
4377 p_cp_ref_number => p_request_conv_rec.cp_ref_number,
4378 p_org_id => p_org_id,
4379 p_customer_product_id => p_request_conv_rec.customer_product_id,
4380 x_return_status => l_return_status
4381 );
4382 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4383 RAISE FND_API.G_EXC_ERROR;
4384 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4385 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4386 END IF;
4387 ELSIF (p_request_conv_rec.cp_ref_number IS NULL) THEN
4388 p_request_conv_rec.customer_product_id := NULL;
4389 END IF;
4390 END IF;
4391
4392 EXCEPTION
4393 WHEN FND_API.G_EXC_ERROR THEN
4394 p_return_status := FND_API.G_RET_STS_ERROR;
4395
4396 END Convert_Request_Val_To_ID;
4397
4398
4399 -- -------------------------------------------------------------------
4400 -- Convert_Key_Flex_To_ID
4401 -- -------------------------------------------------------------------
4402
4403 PROCEDURE Convert_Key_Flex_To_ID
4404 ( p_api_name IN VARCHAR2,
4405 p_application_short_name IN VARCHAR2,
4406 p_key_flex_code IN VARCHAR2,
4407 p_structure_number IN NUMBER,
4408 p_attribute_id IN NUMBER := FND_API.G_MISS_NUM,
4409 p_attribute_conc_segs IN VARCHAR2 := FND_API.G_MISS_CHAR,
4410 p_attribute_segments_tbl IN FND_FLEX_EXT.SegmentArray,
4411 p_attribute_n_segments IN NUMBER := 0,
4412 p_attribute_vals_or_ids IN VARCHAR2 := 'V',
4413 p_data_set IN NUMBER := NULL,
4414 p_resp_appl_id IN NUMBER := NULL,
4415 p_resp_id IN NUMBER := NULL,
4416 p_user_id IN NUMBER := NULL,
4417 p_attribute_id_out OUT NOCOPY NUMBER,
4418 p_return_status OUT NOCOPY VARCHAR2
4419 )
4420 IS
4421 l_error_message VARCHAR2(2000);
4422 l_delimiter VARCHAR2(1);
4423 l_attribute_conc_segs VARCHAR2(800);
4424 BEGIN
4425 -- Initialize API return status to success
4426 p_return_status := FND_API.G_RET_STS_SUCCESS;
4427
4428 IF ((p_attribute_id <> FND_API.G_MISS_NUM) OR
4429 (p_attribute_id IS NULL)) THEN
4430 -- If caller explicitly passed in the combination ID, return it.
4431 p_attribute_id_out := p_attribute_id;
4432 ELSIF (p_attribute_conc_segs <> FND_API.G_MISS_CHAR) THEN
4433 -- If caller passed in the concatenated segments, get the combination ID
4434 -- by using the flexfields APIs.
4435 IF NOT FND_FLEX_KEYVAL.Validate_Segs
4436 ( operation => 'FIND_COMBINATION',
4437 appl_short_name => p_application_short_name,
4438 key_flex_code => p_key_flex_code,
4439 structure_number => p_structure_number,
4440 concat_segments => p_attribute_conc_segs,
4441 values_or_ids => p_attribute_vals_or_ids,
4442 data_set => p_data_set,
4443 resp_appl_id => p_resp_appl_id,
4444 resp_id => p_resp_id,
4445 user_id => p_user_id
4446 ) THEN
4447 l_error_message := FND_FLEX_KEYVAL.Error_Message;
4448 CS_ServiceRequest_UTIL.Add_Key_Flex_Msg(p_api_name, l_error_message);
4449 p_return_status := FND_API.G_RET_STS_ERROR;
4450 ELSE
4451 p_attribute_id_out := FND_FLEX_KEYVAL.Combination_ID;
4452 END IF;
4453 ELSIF (p_attribute_n_segments <> 0) THEN
4454 -- If caller did not pass in the concatenated segments but passed in the
4455 -- individual segments instead, need to first convert them into a string
4456 -- of concatenated segments before finding the combination ID.
4457 l_delimiter := FND_FLEX_EXT.Get_Delimiter
4458 ( application_short_name => p_application_short_name,
4459 key_flex_code => p_key_flex_code,
4460 structure_number => p_structure_number
4461 );
4462 l_attribute_conc_segs := FND_FLEX_EXT.Concatenate_Segments
4463 ( n_segments => p_attribute_n_segments,
4464 segments => p_attribute_segments_tbl,
4465 delimiter => l_delimiter
4466 );
4467
4468 IF NOT FND_FLEX_KEYVAL.Validate_Segs
4469 ( operation => 'FIND_COMBINATION',
4470 appl_short_name => p_application_short_name,
4471 key_flex_code => p_key_flex_code,
4472 structure_number => p_structure_number,
4473 concat_segments => l_attribute_conc_segs,
4474 values_or_ids => p_attribute_vals_or_ids,
4475 data_set => p_data_set,
4476 resp_appl_id => p_resp_appl_id,
4477 resp_id => p_resp_id,
4478 user_id => p_user_id
4479 ) THEN
4480 l_error_message := FND_FLEX_KEYVAL.Error_Message;
4481 CS_ServiceRequest_UTIL.Add_Key_Flex_Msg(p_api_name, l_error_message);
4482 p_return_status := FND_API.G_RET_STS_ERROR;
4483 ELSE
4484 p_attribute_id_out := FND_FLEX_KEYVAL.Combination_ID;
4485 END IF;
4486
4487 ELSE
4488 -- The caller did not pass in anything; return FND_API.G_MISS_NUM.
4489 p_attribute_id_out := p_attribute_id;
4490 END IF;
4491
4492 END Convert_Key_Flex_To_ID;
4493
4494 /*** 1/28/2004 smisra moved this procedure to csusrs.pls
4495 -- -------------------------------------------------------------------
4496 -- Validate_Desc_Flex
4497 -- -------------------------------------------------------------------
4498
4499 PROCEDURE Validate_Desc_Flex
4500 ( p_api_name IN VARCHAR2,
4501 p_application_short_name IN VARCHAR2,
4502 p_desc_flex_name IN VARCHAR2,
4503 p_desc_segment1 IN VARCHAR2,
4504 p_desc_segment2 IN VARCHAR2,
4505 p_desc_segment3 IN VARCHAR2,
4506 p_desc_segment4 IN VARCHAR2,
4507 p_desc_segment5 IN VARCHAR2,
4508 p_desc_segment6 IN VARCHAR2,
4509 p_desc_segment7 IN VARCHAR2,
4510 p_desc_segment8 IN VARCHAR2,
4511 p_desc_segment9 IN VARCHAR2,
4512 p_desc_segment10 IN VARCHAR2,
4513 p_desc_segment11 IN VARCHAR2,
4514 p_desc_segment12 IN VARCHAR2,
4515 p_desc_segment13 IN VARCHAR2,
4516 p_desc_segment14 IN VARCHAR2,
4517 p_desc_segment15 IN VARCHAR2,
4518 p_desc_context IN VARCHAR2,
4519 p_resp_appl_id IN NUMBER := NULL,
4520 p_resp_id IN NUMBER := NULL,
4521 p_return_status OUT NOCOPY VARCHAR2
4522 )
4523 IS
4524 l_error_message VARCHAR2(2000);
4525 BEGIN
4526 -- Initialize API return status to success
4527 p_return_status := FND_API.G_RET_STS_SUCCESS;
4528
4529 IF ( p_desc_context || p_desc_segment1 || p_desc_segment2 ||
4530 p_desc_segment3 || p_desc_segment4 || p_desc_segment5 ||
4531 p_desc_segment6 || p_desc_segment7 || p_desc_segment8 ||
4532 p_desc_segment9 || p_desc_segment10 || p_desc_segment11 ||
4533 p_desc_segment12 || p_desc_segment13 || p_desc_segment14 ||
4534 p_desc_segment15
4535 ) IS NOT NULL THEN
4536
4537 FND_FLEX_DESCVAL.Set_Context_Value(p_desc_context);
4538 FND_FLEX_DESCVAL.Set_Column_Value('INCIDENT_ATTRIBUTE_1', p_desc_segment1);
4539 FND_FLEX_DESCVAL.Set_Column_Value('INCIDENT_ATTRIBUTE_2', p_desc_segment2);
4540 FND_FLEX_DESCVAL.Set_Column_Value('INCIDENT_ATTRIBUTE_3', p_desc_segment3);
4541 FND_FLEX_DESCVAL.Set_Column_Value('INCIDENT_ATTRIBUTE_4', p_desc_segment4);
4542 FND_FLEX_DESCVAL.Set_Column_Value('INCIDENT_ATTRIBUTE_5', p_desc_segment5);
4543 FND_FLEX_DESCVAL.Set_Column_Value('INCIDENT_ATTRIBUTE_6', p_desc_segment6);
4544 FND_FLEX_DESCVAL.Set_Column_Value('INCIDENT_ATTRIBUTE_7', p_desc_segment7);
4545 FND_FLEX_DESCVAL.Set_Column_Value('INCIDENT_ATTRIBUTE_8', p_desc_segment8);
4546 FND_FLEX_DESCVAL.Set_Column_Value('INCIDENT_ATTRIBUTE_9', p_desc_segment9);
4547 FND_FLEX_DESCVAL.Set_Column_Value('INCIDENT_ATTRIBUTE_10', p_desc_segment10);
4548 FND_FLEX_DESCVAL.Set_Column_Value('INCIDENT_ATTRIBUTE_11', p_desc_segment11);
4549 FND_FLEX_DESCVAL.Set_Column_Value('INCIDENT_ATTRIBUTE_12', p_desc_segment12);
4550 FND_FLEX_DESCVAL.Set_Column_Value('INCIDENT_ATTRIBUTE_13', p_desc_segment13);
4551 FND_FLEX_DESCVAL.Set_Column_Value('INCIDENT_ATTRIBUTE_14', p_desc_segment14);
4552 FND_FLEX_DESCVAL.Set_Column_Value('INCIDENT_ATTRIBUTE_15', p_desc_segment15);
4553 IF NOT FND_FLEX_DESCVAL.Validate_Desccols
4554 ( appl_short_name => p_application_short_name,
4555 desc_flex_name => p_desc_flex_name,
4556 resp_appl_id => p_resp_appl_id,
4557 resp_id => p_resp_id
4558 ) THEN
4559 l_error_message := FND_FLEX_DESCVAL.Error_Message;
4560 CS_ServiceRequest_UTIL.Add_Desc_Flex_Msg(p_api_name, l_error_message);
4561 p_return_status := FND_API.G_RET_STS_ERROR;
4562 END IF;
4563 END IF;
4564
4565 END Validate_Desc_Flex;
4566 *******************************************************************/
4567
4568 -- -------------------------------------------------------------------
4569 -- Validate_External_Desc_Flex
4570 -- For ER# 2501166 added these external attributes date 1st oct 2002
4571 -- -------------------------------------------------------------------
4572 /******* Bug 5216510 Moved this procedure to CS_ServiceRequest_UTIL package.
4573
4574 PROCEDURE Validate_External_Desc_Flex
4575 ( p_api_name IN VARCHAR2,
4576 p_application_short_name IN VARCHAR2,
4577 p_ext_desc_flex_name IN VARCHAR2,
4578 p_ext_desc_segment1 IN VARCHAR2,
4579 p_ext_desc_segment2 IN VARCHAR2,
4580 p_ext_desc_segment3 IN VARCHAR2,
4581 p_ext_desc_segment4 IN VARCHAR2,
4582 p_ext_desc_segment5 IN VARCHAR2,
4583 p_ext_desc_segment6 IN VARCHAR2,
4584 p_ext_desc_segment7 IN VARCHAR2,
4585 p_ext_desc_segment8 IN VARCHAR2,
4586 p_ext_desc_segment9 IN VARCHAR2,
4587 p_ext_desc_segment10 IN VARCHAR2,
4588 p_ext_desc_segment11 IN VARCHAR2,
4589 p_ext_desc_segment12 IN VARCHAR2,
4590 p_ext_desc_segment13 IN VARCHAR2,
4591 p_ext_desc_segment14 IN VARCHAR2,
4592 p_ext_desc_segment15 IN VARCHAR2,
4593 p_ext_desc_context IN VARCHAR2,
4594 p_resp_appl_id IN NUMBER := NULL,
4595 p_resp_id IN NUMBER := NULL,
4596 p_return_status OUT NOCOPY VARCHAR2
4597 )
4598 IS
4599 l_error_message VARCHAR2(2000);
4600 BEGIN
4601 -- Initialize API return status to success
4602 p_return_status := FND_API.G_RET_STS_SUCCESS;
4603
4604 IF ( p_ext_desc_context || p_ext_desc_segment1 || p_ext_desc_segment2 ||
4605 p_ext_desc_segment3 || p_ext_desc_segment4 || p_ext_desc_segment5 ||
4606 p_ext_desc_segment6 || p_ext_desc_segment7 || p_ext_desc_segment8 ||
4607 p_ext_desc_segment9 || p_ext_desc_segment10 || p_ext_desc_segment11 ||
4608 p_ext_desc_segment12 || p_ext_desc_segment13 || p_ext_desc_segment14 ||
4609 p_ext_desc_segment15
4610 ) IS NOT NULL THEN
4611
4612 FND_FLEX_DESCVAL.Set_Context_Value(p_ext_desc_context);
4613 FND_FLEX_DESCVAL.Set_Column_Value('EXTERNAL_ATTRIBUTE_1', p_ext_desc_segment1);
4614 FND_FLEX_DESCVAL.Set_Column_Value('EXTERNAL_ATTRIBUTE_2', p_ext_desc_segment2);
4615 FND_FLEX_DESCVAL.Set_Column_Value('EXTERNAL_ATTRIBUTE_3', p_ext_desc_segment3);
4616 FND_FLEX_DESCVAL.Set_Column_Value('EXTERNAL_ATTRIBUTE_4', p_ext_desc_segment4);
4617 FND_FLEX_DESCVAL.Set_Column_Value('EXTERNAL_ATTRIBUTE_5', p_ext_desc_segment5);
4618 FND_FLEX_DESCVAL.Set_Column_Value('EXTERNAL_ATTRIBUTE_6', p_ext_desc_segment6);
4619 FND_FLEX_DESCVAL.Set_Column_Value('EXTERNAL_ATTRIBUTE_7', p_ext_desc_segment7);
4620 FND_FLEX_DESCVAL.Set_Column_Value('EXTERNAL_ATTRIBUTE_8', p_ext_desc_segment8);
4621 FND_FLEX_DESCVAL.Set_Column_Value('EXTERNAL_ATTRIBUTE_9', p_ext_desc_segment9);
4622 FND_FLEX_DESCVAL.Set_Column_Value('EXTERNAL_ATTRIBUTE_10', p_ext_desc_segment10);
4623 FND_FLEX_DESCVAL.Set_Column_Value('EXTERNAL_ATTRIBUTE_11', p_ext_desc_segment11);
4624 FND_FLEX_DESCVAL.Set_Column_Value('EXTERNAL_ATTRIBUTE_12', p_ext_desc_segment12);
4625 FND_FLEX_DESCVAL.Set_Column_Value('EXTERNAL_ATTRIBUTE_13', p_ext_desc_segment13);
4626 FND_FLEX_DESCVAL.Set_Column_Value('EXTERNAL_ATTRIBUTE_14', p_ext_desc_segment14);
4627 FND_FLEX_DESCVAL.Set_Column_Value('EXTERNAL_ATTRIBUTE_15', p_ext_desc_segment15);
4628 IF NOT FND_FLEX_DESCVAL.Validate_Desccols
4629 ( appl_short_name => p_application_short_name,
4630 desc_flex_name => p_ext_desc_flex_name,
4631 resp_appl_id => p_resp_appl_id,
4632 resp_id => p_resp_id
4633 ) THEN
4634 l_error_message := FND_FLEX_DESCVAL.Error_Message;
4635 CS_ServiceRequest_UTIL.Add_Desc_Flex_Msg(p_api_name, l_error_message);
4636 p_return_status := FND_API.G_RET_STS_ERROR;
4637 END IF;
4638 END IF;
4639
4640 END Validate_External_Desc_Flex;
4641 ************************************************************Bug 5216510***************/
4642
4643 -- -------------------------------------------------------------------
4644 -- Validate_Strings
4645 -- -------------------------------------------------------------------
4646
4647 PROCEDURE Validate_Strings
4648 ( p_api_name IN VARCHAR2,
4649 p_summary IN VARCHAR2 := FND_API.G_MISS_CHAR,
4650 p_customer_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
4651 p_customer_number IN VARCHAR2 := FND_API.G_MISS_CHAR,
4652 p_contact_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
4653 p_contact_area_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
4654 p_contact_telephone IN VARCHAR2 := FND_API.G_MISS_CHAR,
4655 p_contact_extension IN VARCHAR2 := FND_API.G_MISS_CHAR,
4656 p_contact_fax_area_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
4657 p_contact_fax_number IN VARCHAR2 := FND_API.G_MISS_CHAR,
4658 p_contact_email_address IN VARCHAR2 := FND_API.G_MISS_CHAR,
4659 p_rep_by_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
4660 p_rep_by_area_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
4661 p_rep_by_telephone IN VARCHAR2 := FND_API.G_MISS_CHAR,
4662 p_rep_by_extension IN VARCHAR2 := FND_API.G_MISS_CHAR,
4663 p_rep_by_fax_area_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
4664 p_rep_by_fax_number IN VARCHAR2 := FND_API.G_MISS_CHAR,
4665 p_rep_by_email IN VARCHAR2 := FND_API.G_MISS_CHAR,
4666 p_current_serial_number IN VARCHAR2 := FND_API.G_MISS_CHAR,
4667 p_purchase_order_num IN VARCHAR2 := FND_API.G_MISS_CHAR,
4668 p_problem_description IN VARCHAR2 := FND_API.G_MISS_CHAR,
4669 p_install_location IN VARCHAR2 := FND_API.G_MISS_CHAR,
4670 p_install_customer IN VARCHAR2 := FND_API.G_MISS_CHAR,
4671 p_install_address_line_1 IN VARCHAR2 := FND_API.G_MISS_CHAR,
4672 p_install_address_line_2 IN VARCHAR2 := FND_API.G_MISS_CHAR,
4673 p_install_address_line_3 IN VARCHAR2 := FND_API.G_MISS_CHAR,
4674 p_bill_to_location IN VARCHAR2 := FND_API.G_MISS_CHAR,
4675 p_bill_to_customer IN VARCHAR2 := FND_API.G_MISS_CHAR,
4676 p_bill_to_address_line_1 IN VARCHAR2 := FND_API.G_MISS_CHAR,
4677 p_bill_to_address_line_2 IN VARCHAR2 := FND_API.G_MISS_CHAR,
4678 p_bill_to_address_line_3 IN VARCHAR2 := FND_API.G_MISS_CHAR,
4679 p_bill_to_contact IN VARCHAR2 := FND_API.G_MISS_CHAR,
4680 p_ship_to_location IN VARCHAR2 := FND_API.G_MISS_CHAR,
4681 p_ship_to_customer IN VARCHAR2 := FND_API.G_MISS_CHAR,
4682 p_ship_to_address_line_1 IN VARCHAR2 := FND_API.G_MISS_CHAR,
4683 p_ship_to_address_line_2 IN VARCHAR2 := FND_API.G_MISS_CHAR,
4684 p_ship_to_address_line_3 IN VARCHAR2 := FND_API.G_MISS_CHAR,
4685 p_ship_to_contact IN VARCHAR2 := FND_API.G_MISS_CHAR,
4686 p_problem_resolution IN VARCHAR2 := FND_API.G_MISS_CHAR,
4687 p_audit_comments IN VARCHAR2 := FND_API.G_MISS_CHAR,
4688 p_inv_item_revision IN VARCHAR2 := FND_API.G_MISS_CHAR,
4689 p_inv_component_version IN VARCHAR2 := FND_API.G_MISS_CHAR,
4690 p_inv_subcomponent_version IN VARCHAR2 := FND_API.G_MISS_CHAR,
4691
4692 p_summary_out OUT NOCOPY VARCHAR2,
4693 p_customer_name_out OUT NOCOPY VARCHAR2,
4694 p_customer_number_out OUT NOCOPY VARCHAR2,
4695 p_contact_name_out OUT NOCOPY VARCHAR2,
4696 p_contact_area_code_out OUT NOCOPY VARCHAR2,
4697 p_contact_telephone_out OUT NOCOPY VARCHAR2,
4698 p_contact_extension_out OUT NOCOPY VARCHAR2,
4699 p_contact_fax_area_code_out OUT NOCOPY VARCHAR2,
4700 p_contact_fax_number_out OUT NOCOPY VARCHAR2,
4701 p_contact_email_address_out OUT NOCOPY VARCHAR2,
4702 p_rep_by_name_out OUT NOCOPY VARCHAR2,
4703 p_rep_by_area_code_out OUT NOCOPY VARCHAR2,
4704 p_rep_by_telephone_out OUT NOCOPY VARCHAR2,
4705 p_rep_by_extension_out OUT NOCOPY VARCHAR2,
4706 p_rep_by_fax_area_code_out OUT NOCOPY VARCHAR2,
4707 p_rep_by_fax_number_out OUT NOCOPY VARCHAR2,
4708 p_rep_by_email_out OUT NOCOPY VARCHAR2,
4709 p_current_serial_number_out OUT NOCOPY VARCHAR2,
4710 p_purchase_order_num_out OUT NOCOPY VARCHAR2,
4711 p_problem_description_out OUT NOCOPY VARCHAR2,
4712 p_install_location_out OUT NOCOPY VARCHAR2,
4713 p_install_customer_out OUT NOCOPY VARCHAR2,
4714 p_install_address_line_1_out OUT NOCOPY VARCHAR2,
4715 p_install_address_line_2_out OUT NOCOPY VARCHAR2,
4716 p_install_address_line_3_out OUT NOCOPY VARCHAR2,
4717 p_bill_to_location_out OUT NOCOPY VARCHAR2,
4718 p_bill_to_customer_out OUT NOCOPY VARCHAR2,
4719 p_bill_to_address_line_1_out OUT NOCOPY VARCHAR2,
4720 p_bill_to_address_line_2_out OUT NOCOPY VARCHAR2,
4721 p_bill_to_address_line_3_out OUT NOCOPY VARCHAR2,
4722 p_bill_to_contact_out OUT NOCOPY VARCHAR2,
4723 p_ship_to_location_out OUT NOCOPY VARCHAR2,
4724 p_ship_to_customer_out OUT NOCOPY VARCHAR2,
4725 p_ship_to_address_line_1_out OUT NOCOPY VARCHAR2,
4726 p_ship_to_address_line_2_out OUT NOCOPY VARCHAR2,
4727 p_ship_to_address_line_3_out OUT NOCOPY VARCHAR2,
4728 p_ship_to_contact_out OUT NOCOPY VARCHAR2,
4729 p_problem_resolution_out OUT NOCOPY VARCHAR2,
4730 p_audit_comments_out OUT NOCOPY VARCHAR2,
4731 p_inv_item_revision_out OUT NOCOPY VARCHAR2,
4732 p_inv_component_version_out OUT NOCOPY VARCHAR2,
4733 p_inv_subcomponent_version_out OUT NOCOPY VARCHAR2
4734 )
4735 IS
4736
4737 --------------------------------------------------------------------------
4738 -- Local Function Trunc_String_Length
4739 -- Description:
4740 -- Verify that the string is shorter than the defined width of the
4741 -- column. If the character value is longer than the defined width of
4742 -- the VARCHAR2 column, truncate the value.
4743 --------------------------------------------------------------------------
4744 PROCEDURE Trunc_String_Length
4745 ( p_api_name IN VARCHAR2,
4746 p_parameter_name IN VARCHAR2,
4747 p_str IN VARCHAR2 := FND_API.G_MISS_CHAR,
4748 p_len IN NUMBER,
4749 p_str_out OUT NOCOPY VARCHAR2
4750 )
4751 IS
4752 l_len NUMBER;
4753 BEGIN
4754 IF (p_str <> FND_API.G_MISS_CHAR) THEN
4755 l_len := LENGTHB(p_str);
4756 IF (l_len > p_len) THEN
4757 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS) THEN
4758 FND_MESSAGE.Set_Name('CS', 'CS_API_ALL_VALUE_TRUNCATED');
4759 FND_MESSAGE.Set_Token('API_NAME', p_api_name);
4760 FND_MESSAGE.Set_Token('TRUNCATED_PARAM', p_parameter_name);
4761 FND_MESSAGE.Set_Token('VAL_LEN', l_len);
4762 FND_MESSAGE.Set_Token('DB_LEN', p_len);
4763 FND_MSG_PUB.Add;
4764 END IF;
4765 p_str_out := SUBSTRB(p_str, 1, p_len);
4766 ELSE
4767 p_str_out := p_str;
4768 END IF;
4769 ELSE
4770 p_str_out := p_str;
4771 END IF;
4772 END Trunc_String_Length;
4773
4774 BEGIN
4775 Trunc_String_Length(p_api_name, 'p_summary', p_summary, 240, p_summary_out);
4776 Trunc_String_Length(p_api_name, 'p_customer_name', p_customer_name, 50,
4777 p_customer_name_out);
4778 Trunc_String_Length(p_api_name, 'p_customer_number', p_customer_number, 30,
4779 p_customer_number_out);
4780 Trunc_String_Length(p_api_name, 'p_contact_name', p_contact_name, 100,
4781 p_contact_name_out);
4782 Trunc_String_Length(p_api_name, 'p_contact_area_code', p_contact_area_code, 10,
4783 p_contact_area_code_out);
4784 Trunc_String_Length(p_api_name, 'p_contact_telephone', p_contact_telephone, 25,
4785 p_contact_telephone_out);
4786 Trunc_String_Length(p_api_name, 'p_contact_extension', p_contact_extension, 20,
4787 p_contact_extension_out);
4788 Trunc_String_Length(p_api_name, 'p_contact_fax_area_code', p_contact_fax_area_code,
4789 10, p_contact_fax_area_code_out);
4790 Trunc_String_Length(p_api_name, 'p_contact_fax_number', p_contact_fax_number, 25,
4791 p_contact_fax_number_out);
4792 Trunc_String_Length(p_api_name, 'p_contact_email_address', p_contact_email_address,
4793 240, p_contact_email_address_out);
4794 Trunc_String_Length(p_api_name, 'p_represented_by_name', p_rep_by_name, 100,
4795 p_rep_by_name_out);
4796 Trunc_String_Length(p_api_name, 'p_represented_by_area_code', p_rep_by_area_code, 10,
4797 p_rep_by_area_code_out);
4798 Trunc_String_Length(p_api_name, 'p_represented_by_telephone', p_rep_by_telephone, 25,
4799 p_rep_by_telephone_out);
4800 Trunc_String_Length(p_api_name, 'p_represented_by_extension', p_rep_by_extension, 20,
4801 p_rep_by_extension_out);
4802 Trunc_String_Length(p_api_name, 'p_represented_by_fax_area_code', p_rep_by_fax_area_code, 10,
4803 p_rep_by_fax_area_code_out);
4804 Trunc_String_Length(p_api_name, 'p_represented_by_fax_number', p_rep_by_fax_number, 25,
4805 p_rep_by_fax_number_out);
4806 Trunc_String_Length(p_api_name, 'p_represented_by_email', p_rep_by_email, 240,
4807 p_rep_by_email_out);
4808 Trunc_String_Length(p_api_name, 'p_current_serial_number', p_current_serial_number, 30,
4809 p_current_serial_number_out);
4810 Trunc_String_Length(p_api_name, 'p_purchase_order_num', p_purchase_order_num,
4811 50, p_purchase_order_num_out);
4812 Trunc_String_Length(p_api_name, 'p_problem_description', p_problem_description, 2000,
4813 p_problem_description_out);
4814 Trunc_String_Length(p_api_name, 'p_install_location', p_install_location, 40,
4815 p_install_location_out);
4816 Trunc_String_Length(p_api_name, 'p_install_customer', p_install_customer, 50,
4817 p_install_customer_out);
4818 Trunc_String_Length(p_api_name, 'p_install_address_line_1', p_install_address_line_1,
4819 240, p_install_address_line_1_out);
4820 Trunc_String_Length(p_api_name, 'p_install_address_line_2', p_install_address_line_2,
4821 240, p_install_address_line_2_out);
4822 Trunc_String_Length(p_api_name, 'p_install_address_line_3', p_install_address_line_3,
4823 240, p_install_address_line_3_out);
4824 Trunc_String_Length(p_api_name, 'p_bill_to_location', p_bill_to_location, 40,
4825 p_bill_to_location_out);
4826 Trunc_String_Length(p_api_name, 'p_bill_to_customer', p_bill_to_customer, 50,
4827 p_bill_to_customer_out);
4828 Trunc_String_Length(p_api_name, 'p_bill_to_address_line_1', p_bill_to_address_line_1,
4829 240, p_bill_to_address_line_1_out);
4830 Trunc_String_Length(p_api_name, 'p_bill_to_address_line_2', p_bill_to_address_line_2,
4831 240, p_bill_to_address_line_2_out);
4832 Trunc_String_Length(p_api_name, 'p_bill_to_address_line_3', p_bill_to_address_line_3,
4833 240, p_bill_to_address_line_3_out);
4834 Trunc_String_Length(p_api_name, 'p_bill_to_contact', p_bill_to_contact, 100,
4835 p_bill_to_contact_out);
4836 Trunc_String_Length(p_api_name, 'p_ship_to_location', p_ship_to_location, 40,
4837 p_ship_to_location_out);
4838 Trunc_String_Length(p_api_name, 'p_ship_to_customer', p_ship_to_customer, 50,
4839 p_ship_to_customer_out);
4840 Trunc_String_Length(p_api_name, 'p_ship_to_address_line_1', p_ship_to_address_line_1,
4841 240, p_ship_to_address_line_1_out);
4842 Trunc_String_Length(p_api_name, 'p_ship_to_address_line_2', p_ship_to_address_line_2,
4843 240, p_ship_to_address_line_2_out);
4844 Trunc_String_Length(p_api_name, 'p_ship_to_address_line_3', p_ship_to_address_line_3,
4845 240, p_ship_to_address_line_3_out);
4846 Trunc_String_Length(p_api_name, 'p_ship_to_contact', p_ship_to_contact, 100,
4847 p_ship_to_contact_out);
4848 Trunc_String_Length(p_api_name, 'p_problem_resolution', p_problem_resolution, 2000,
4849 p_problem_resolution_out);
4850 Trunc_String_Length(p_api_name, 'p_audit_comments', p_audit_comments, 2000,
4851 p_audit_comments_out);
4852 Trunc_String_Length(p_api_name, 'p_inv_item_revision', p_inv_item_revision, 240,
4853 p_inv_item_revision_out);
4854 Trunc_String_Length(p_api_name, 'p_inv_component_version', p_inv_component_version, 90,
4855 p_inv_component_version_out);
4856 Trunc_String_Length(p_api_name, 'p_inv_subcomponent_version', p_inv_subcomponent_version, 90,
4857 p_inv_subcomponent_version_out);
4858
4859 END Validate_Strings;
4860
4861
4862 -- ------------------------------------------------------
4863 -- Get_Default_Values
4864 -- ------------------------------------------------------
4865
4866 PROCEDURE Get_Default_Values(
4867 p_api_name IN VARCHAR,
4868 p_org_id IN OUT NOCOPY NUMBER,
4869 p_resp_appl_id IN OUT NOCOPY NUMBER,
4870 p_resp_id IN OUT NOCOPY NUMBER,
4871 p_user_id IN OUT NOCOPY NUMBER,
4872 p_login_id IN OUT NOCOPY NUMBER,
4873 p_inventory_org_id IN OUT NOCOPY NUMBER,
4874 p_request_id IN NUMBER,
4875 p_request_number IN VARCHAR2,
4876 p_request_id_out OUT NOCOPY NUMBER,
4877 p_return_status OUT NOCOPY VARCHAR2 ) IS
4878
4879 l_return_status VARCHAR2(1);
4880
4881 BEGIN
4882 -- Initialize return status
4883 p_return_status := FND_API.G_RET_STS_SUCCESS;
4884
4885 --
4886 -- Get default values
4887 --
4888 Default_Other_Attributes(
4889 p_api_name => p_api_name,
4890 p_resp_appl_id => p_resp_appl_id,
4891 p_resp_id => p_resp_id,
4892 p_user_id => p_user_id,
4893 p_login_id => p_login_id,
4894 p_org_id => p_org_id,
4895 p_inventory_org_id => p_inventory_org_id,
4896 p_return_status => l_return_status );
4897
4898 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4899 raise FND_API.G_EXC_ERROR;
4900 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4901 raise FND_API.G_EXC_UNEXPECTED_ERROR;
4902 END IF;
4903 --
4904 -- Get the request ID
4905 --
4906 IF (p_request_id IS NULL) THEN
4907 IF (p_request_number IS NULL) THEN
4908 CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
4909 p_token_an => p_api_name,
4910 p_token_np => 'p_request_id' );
4911 raise FND_API.G_EXC_ERROR;
4912 ELSE
4913 CS_ServiceRequest_UTIL.Convert_Request_Number_To_ID(
4914 p_api_name => p_api_name,
4915 p_parameter_name => 'p_request_number',
4916 p_request_number => p_request_number,
4917 p_org_id => p_org_id,
4918 p_request_id => p_request_id_out,
4919 x_return_status => l_return_status );
4920 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4921 raise FND_API.G_EXC_ERROR;
4922 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4923 raise FND_API.G_EXC_UNEXPECTED_ERROR;
4924 END IF;
4925 END IF;
4926 ELSE
4927 p_request_id_out := p_request_id;
4928 IF (p_request_number IS NOT NULL) THEN
4929 CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(
4930 p_token_an => p_api_name,
4931 p_token_ip => 'p_request_number' );
4932 END IF;
4933 END IF;
4934
4935 EXCEPTION
4936 WHEN FND_API.G_EXC_ERROR THEN
4937 p_return_status := FND_API.G_RET_STS_ERROR;
4938 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4939 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4940
4941 END Get_Default_Values;
4942 ------------------------------------------------------------
4943 --These APIs are owned by ShihHsin
4944
4945
4946 PROCEDURE Link_KB_Statement
4947 (
4948 p_api_version IN NUMBER,
4949 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
4950 p_commit IN VARCHAR2 := FND_API.G_FALSE,
4951 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
4952 x_return_status OUT NOCOPY VARCHAR2,
4953 x_msg_count OUT NOCOPY NUMBER,
4954 x_msg_data OUT NOCOPY VARCHAR2,
4955 p_request_id IN NUMBER,
4956 p_statement_id IN NUMBER,
4957 p_is_statement_true IN VARCHAR2,
4958 x_statement_link_id OUT NOCOPY NUMBER
4959 )
4960 IS
4961 l_service_request_obj_code VARCHAR2(30) := 'SR';
4962 l_true_link VARCHAR2(1) := 'T';
4963 l_false_link VARCHAR2(1) := 'F';
4964 l_return_status VARCHAR2(1);
4965 l_msg_count NUMBER;
4966 l_msg_data VARCHAR2(2000);
4967 l_msg_index_out NUMBER;
4968 l_element_link_rec CS_KB_ELEMENT_LINKS%ROWTYPE;
4969 l_element_link_id NUMBER;
4970 --3630159 --reverts back the changes for 3288427 -- 30th June, 2004.
4971 l_api_version CONSTANT number := 1.0;
4972 l_api_name CONSTANT varchar2(18) := 'LINK_KB_STATEMENT';
4973 BEGIN
4974
4975 --Note :
4976 --This procedure does not have any savepoint because it does not execute any DML directly.
4977
4978 --BUG 3630159:
4979 --Added to clear message cache in case of API call wrong version.
4980 -- Initialize message list if p_init_msg_list is set to TRUE
4981 IF FND_API.To_Boolean(p_init_msg_list) THEN
4982 FND_MSG_PUB.Initialize;
4983 END IF;
4984
4985 --3630159 -- 30th June, 2004 -- Added to conform to public API coding standards
4986 IF NOT FND_API.Compatible_API_Call
4987 (
4988 p_current_version_number => l_api_version,
4989 p_caller_version_number => p_api_version,
4990 p_api_name => l_api_name,
4991 p_pkg_name => G_PKG_NAME
4992 )
4993 THEN
4994 RAISE FND_API.G_EXC_ERROR;
4995 END IF;
4996
4997 -- Set up the link record
4998 IF FND_API.To_Boolean(p_is_statement_true) = TRUE
4999 THEN
5000 l_element_link_rec.link_type := l_true_link;
5001 ELSE
5002 l_element_link_rec.link_type := l_false_link;
5003 END IF;
5004
5005 l_element_link_rec.object_code := l_service_request_obj_code;
5006 l_element_link_rec.other_id := p_request_id;
5007 l_element_link_rec.element_id := p_statement_id;
5008
5009
5010 -- Call the knowledge base API to actually create the link
5011 CS_Knowledge_GRP.Create_Element_Link
5012 (
5013 p_api_version => 1.0, --3630159 --30th June, 2004-- All consumer calls should have API version hardcoded
5014 p_init_msg_list => p_init_msg_list,
5015 p_commit => p_commit,
5016 p_validation_level => p_validation_level,
5017 x_return_status => l_return_status,
5018 x_msg_count => l_msg_count,
5019 x_msg_data => l_msg_data,
5020 p_element_link_rec => l_element_link_rec,
5021 x_element_link_id => l_element_link_id
5022 );
5023
5024 -- Pass through return status and messages
5025 x_return_status := l_return_status;
5026 x_msg_count := l_msg_count;
5027 x_msg_data := l_msg_data;
5028 x_statement_link_id := l_element_link_id;
5029
5030 --3630159 -- 30th June, 2004.
5031 -- Added exception blocks to handle invalid API Version error handling.
5032
5033 EXCEPTION
5034 WHEN FND_API.G_EXC_ERROR
5035 THEN
5036 x_return_status := FND_API.G_RET_STS_ERROR;
5037 FND_MSG_PUB.Count_And_Get
5038 (
5039 p_count => x_msg_count,
5040 p_data => x_msg_data
5041 );
5042 WHEN OTHERS
5043 THEN
5044 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5045 FND_MSG_PUB.Count_And_Get
5046 (
5047 p_count => x_msg_count,
5048 p_data => x_msg_data
5049 );
5050 END Link_KB_Statement;
5051
5052
5053
5054 PROCEDURE Link_KB_Solution
5055 (
5056 p_api_version IN NUMBER,
5057 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
5058 p_commit IN VARCHAR2 := FND_API.G_FALSE,
5059 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
5060 x_return_status OUT NOCOPY VARCHAR2,
5061 x_msg_count OUT NOCOPY NUMBER,
5062 x_msg_data OUT NOCOPY VARCHAR2,
5063 p_request_id IN NUMBER,
5064 p_solution_id IN NUMBER,
5065 p_is_solution_true IN VARCHAR2,
5066 x_solution_link_id OUT NOCOPY NUMBER
5067 )
5068 IS
5069 l_service_request_obj_code VARCHAR2(30) := 'SR';
5070 l_true_link VARCHAR2(6) := 'S';
5071 l_false_link VARCHAR2(6) := 'NS';
5072 l_return_status VARCHAR2(1);
5073 l_msg_count NUMBER;
5074 l_msg_data VARCHAR2(2000);
5075 l_msg_index_out NUMBER;
5076 l_set_link_rec CS_KB_SET_LINKS%ROWTYPE;
5077 l_set_link_id NUMBER;
5078
5079 l_api_name_full VARCHAR2(70) := G_PKG_NAME || '.LINK_KB_SOLUTION';
5080 --3630159 -- reverts changes for 3288427 to conform to coding standards
5081 l_api_version CONSTANT NUMBER := 1.0;
5082 l_api_name CONSTANT VARCHAR2(17) := 'LINK_KB_SOLUTION';
5083 BEGIN
5084 --Note :
5085 --This procedure does not have any savepoint because it does not execute any DML directly.
5086
5087 --BUG 3630159:
5088 --Added to clear message cache in case of API call wrong version.
5089 -- Initialize message list if p_init_msg_list is set to TRUE
5090 IF FND_API.To_Boolean(p_init_msg_list) THEN
5091 FND_MSG_PUB.Initialize;
5092 END IF;
5093
5094 --3630159 -- 30th June, 2004 -- Added to conform to public API coding standards
5095 IF NOT FND_API.Compatible_API_Call
5096 (
5097 p_current_version_number => l_api_version,
5098 p_caller_version_number => p_api_version,
5099 p_api_name => l_api_name,
5100 p_pkg_name => G_PKG_NAME
5101 )
5102 THEN
5103 RAISE FND_API.G_EXC_ERROR;
5104 END IF;
5105
5106 if ( p_is_solution_true not in ('T','F') ) then
5107 x_return_status := FND_API.G_RET_STS_ERROR;
5108 fnd_message.set_name('CS', 'CS_API_ALL_INVALID_ARGUMENT');
5109 fnd_message.set_token('API_NAME', l_api_name_full);
5110 fnd_message.set_token('VALUE', p_is_solution_true);
5111 fnd_message.set_token('PARAMETER', 'p_is_solution_true');
5112 fnd_msg_pub.add;
5113 RETURN;
5114 end if;
5115
5116 -- Set up the link record
5117
5118 IF FND_API.To_Boolean(p_is_solution_true) = TRUE
5119 THEN
5120 l_set_link_rec.link_type := l_true_link;
5121 ELSE
5122 l_set_link_rec.link_type := l_false_link;
5123 END IF;
5124
5125 l_set_link_rec.object_code := l_service_request_obj_code;
5126 l_set_link_rec.other_id := p_request_id;
5127 l_set_link_rec.set_id := p_solution_id;
5128
5129
5130 -- Call the knowledge base API to actually create the link
5131 CS_Knowledge_GRP.Create_Set_Link
5132 (
5133 p_api_version => 1.0, --3630159 --30th June, 2004 -- All consumer calls should have API version hardcoded
5134 p_init_msg_list => p_init_msg_list,
5135 p_commit => p_commit,
5136 p_validation_level => p_validation_level,
5137 x_return_status => l_return_status,
5138 x_msg_count => l_msg_count,
5139 x_msg_data => l_msg_data,
5140 p_set_link_rec => l_set_link_rec,
5141 x_set_link_id => l_set_link_id
5142 );
5143
5144 -- Pass through return status and messages
5145 x_return_status := l_return_status;
5146 x_msg_count := l_msg_count;
5147 x_msg_data := l_msg_data;
5148 x_solution_link_id := l_set_link_id;
5149
5150 EXCEPTION
5151 --3630159 - 30th June, 2004 -- Handled errors should return status 'E'
5152 WHEN FND_API.G_EXC_ERROR
5153 THEN
5154 x_return_status := FND_API.G_RET_STS_ERROR;
5155 FND_MSG_PUB.Count_And_Get
5156 (
5157 p_count => x_msg_count,
5158 p_data => x_msg_data
5159 );
5160 when others then
5161 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5162 fnd_message.set_name ('CS', 'CS_API_SR_UNKNOWN_ERROR');
5163 fnd_message.set_token ('P_TEXT',l_api_name_full||'-'||SQLERRM);
5164 fnd_msg_pub.add;
5165
5166 END Link_KB_Solution;
5167
5168 /* This is a overloaded procedure for create service request which is mainly
5169 created for making the changes for 1159 backward compatiable. This does not
5170 contain the following parameters:-
5171 x_individual_owner, x_group_owner, x_individual_type and p_auto_assign.
5172 and will call the above procedure with all these parameters and version
5173 as 3.0*/
5174
5175 PROCEDURE Create_ServiceRequest
5176 ( p_api_version IN NUMBER,
5177 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
5178 p_commit IN VARCHAR2 := FND_API.G_FALSE,
5179 x_return_status OUT NOCOPY VARCHAR2,
5180 x_msg_count OUT NOCOPY NUMBER,
5181 x_msg_data OUT NOCOPY VARCHAR2,
5182 p_resp_appl_id IN NUMBER := NULL,
5183 p_resp_id IN NUMBER := NULL,
5184 p_user_id IN NUMBER := NULL,
5185 p_login_id IN NUMBER := NULL,
5186 p_org_id IN NUMBER := NULL,
5187 p_request_id IN NUMBER := NULL,
5188 p_request_number IN VARCHAR2 := NULL,
5189 p_service_request_rec IN SERVICE_REQUEST_REC_TYPE,
5190 p_notes IN NOTES_TABLE,
5191 p_contacts IN CONTACTS_TABLE,
5192 p_default_contract_sla_ind IN VARCHAR2 Default 'N',
5193 x_request_id OUT NOCOPY NUMBER,
5194 x_request_number OUT NOCOPY VARCHAR2,
5195 x_interaction_id OUT NOCOPY NUMBER,
5196 x_workflow_process_id OUT NOCOPY NUMBER
5197 )
5198 IS
5199 l_api_version CONSTANT NUMBER := 2.0;
5200 l_api_name CONSTANT VARCHAR2(30) := 'Create_ServiceRequest';
5201 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
5202 l_individual_owner NUMBER;
5203 l_group_owner NUMBER;
5204 l_individual_type VARCHAR2(30);
5205 l_return_status VARCHAR2(1);
5206
5207 BEGIN
5208 -- Standard start of API savepoint
5209 SAVEPOINT Create_ServiceRequest_PUB;
5210
5211 --BUG 3630159:
5212 --Added to clear message cache in case of API call wrong version.
5213 -- Initialize message list if p_init_msg_list is set to TRUE
5214 IF FND_API.To_Boolean(p_init_msg_list) THEN
5215 FND_MSG_PUB.Initialize;
5216 END IF;
5217
5218 -- Standard call to check for call compatibility
5219 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
5220 G_PKG_NAME) THEN
5221 -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR; #BUG 3630127
5222 RAISE FND_API.G_EXC_ERROR;
5223 END IF;
5224
5225 -- Initialize API return status to success
5226 x_return_status := FND_API.G_RET_STS_SUCCESS;
5227
5228 CS_ServiceRequest_PUB.Create_ServiceRequest
5229 ( p_api_version => 3.0,
5230 p_init_msg_list => p_init_msg_list,
5231 p_commit => p_commit,
5232 x_return_status => x_return_status,
5233 x_msg_count => x_msg_count,
5234 x_msg_data => x_msg_data,
5235 p_resp_appl_id => p_resp_appl_id,
5236 p_resp_id => p_resp_id,
5237 p_user_id => p_user_id,
5238 p_login_id => p_login_id,
5239 p_org_id => p_org_id,
5240 p_request_id => p_request_id,
5241 p_request_number => p_request_number,
5242 p_service_request_rec => p_service_request_rec,
5243 p_notes => p_notes,
5244 p_contacts => p_contacts,
5245 p_auto_assign => 'N',
5246 p_default_contract_sla_ind => p_default_contract_sla_ind,
5247 x_request_id => x_request_id,
5248 x_request_number => x_request_number,
5249 x_interaction_id => x_interaction_id,
5250 x_workflow_process_id => x_workflow_process_id,
5251 x_individual_owner => l_individual_owner,
5252 x_group_owner => l_group_owner,
5253 x_individual_type => l_individual_type
5254 );
5255
5256 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
5257 RAISE FND_API.G_EXC_ERROR;
5258 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
5259 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5260 END IF;
5261
5262 EXCEPTION
5263 WHEN FND_API.G_EXC_ERROR THEN
5264 ROLLBACK TO Create_ServiceRequest_PUB;
5265 x_return_status := FND_API.G_RET_STS_ERROR;
5266 FND_MSG_PUB.Count_And_Get
5267 ( p_count => x_msg_count,
5268 p_data => x_msg_data
5269 );
5270 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5271 ROLLBACK TO Create_ServiceRequest_PUB;
5272 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5273 FND_MSG_PUB.Count_And_Get
5274 ( p_count => x_msg_count,
5275 p_data => x_msg_data
5276 );
5277 WHEN OTHERS THEN
5278 ROLLBACK TO Create_ServiceRequest_PUB;
5279 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5280 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
5281 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
5282 END IF;
5283 FND_MSG_PUB.Count_And_Get
5284 ( p_count => x_msg_count,
5285 p_data => x_msg_data
5286 );
5287
5288 END Create_ServiceRequest;
5289 -- -----------------------------------------------------------------------------
5290 -- Procedure Name : process_sr_ext_attrs
5291 -- Parameters : For in out parameter, please look at procedure
5292 -- process_sr_ext_attrs in file csvextb.pls
5293 -- IN :
5294 -- OUT :
5295 --
5296 -- Description : This is a wrapper for procedure
5297 -- cs_servicerequest_pvt.process_sr_ext_attrs
5298 --
5299 -- Modification History:
5300 -- Date Name Desc
5301 -- -------- -------- -----------------------------------------------------------
5302 -- 08/23/05 smisra Created
5303 -- -----------------------------------------------------------------------------
5304 PROCEDURE process_sr_ext_attrs
5305 ( p_api_version IN NUMBER
5306 , p_init_msg_list IN VARCHAR2 DEFAULT NULL
5307 , p_commit IN VARCHAR2 DEFAULT NULL
5308 , p_incident_id IN NUMBER
5309 , p_ext_attr_grp_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_GRP_TBL_TYPE
5310 , p_ext_attr_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_TBL_TYPE
5311 , p_modified_by IN NUMBER DEFAULT NULL
5312 , p_modified_on IN DATE DEFAULT NULL
5313 , x_failed_row_id_list OUT NOCOPY VARCHAR2
5314 , x_return_status OUT NOCOPY VARCHAR2
5315 , x_errorcode OUT NOCOPY NUMBER
5316 , x_msg_count OUT NOCOPY NUMBER
5317 , x_msg_data OUT NOCOPY VARCHAR2
5318 ) IS
5319 BEGIN
5320 CS_SERVICEREQUEST_PVT.process_sr_ext_attrs
5321 ( p_api_version => p_api_version
5322 , p_init_msg_list => p_init_msg_list
5323 , p_commit => p_commit
5324 , p_incident_id => p_incident_id
5325 , p_ext_attr_grp_tbl => p_ext_attr_grp_tbl
5326 , p_ext_attr_tbl => p_ext_attr_tbl
5327 , p_modified_by => p_modified_by
5328 , p_modified_on => p_modified_on
5329 , x_failed_row_id_list => x_failed_row_id_list
5330 , x_return_status => x_return_status
5331 , x_errorcode => x_errorcode
5332 , x_msg_count => x_msg_count
5333 , x_msg_data => x_msg_data
5334 );
5335 END process_sr_ext_attrs;
5336
5337
5338 PROCEDURE Log_SR_PUB_Parameters
5339 ( p_service_request_rec IN service_request_rec_type
5340 ,p_notes IN notes_table
5341 ,p_contacts IN contacts_table
5342 )
5343 IS
5344 l_api_name CONSTANT VARCHAR2(30) := 'Create_ServiceRequest';
5345 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
5346 l_log_module CONSTANT VARCHAR2(255) := 'cs.plsql.' || l_api_name_full || '.';
5347 l_note_index BINARY_INTEGER;
5348 l_contact_index BINARY_INTEGER;
5349 BEGIN
5350
5351 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
5352 THEN
5353 --- service_request_rec_type parameters --
5354 FND_LOG.String
5355 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5356 , 'request_date :' || p_service_request_rec.request_date
5357 );
5358 FND_LOG.String
5359 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5360 , 'type_id :' || p_service_request_rec.type_id
5361 );
5362 FND_LOG.String
5363 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5364 , 'type_name :' || p_service_request_rec.type_name
5365 );
5366 FND_LOG.String
5367 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5368 , 'status_id :' || p_service_request_rec.status_id
5369 );
5370 FND_LOG.String
5371 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5372 , 'status_name :' || p_service_request_rec.status_name
5373 );
5374 FND_LOG.String
5375 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5376 , 'severity_id :' || p_service_request_rec.severity_id
5377 );
5378 FND_LOG.String
5379 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5380 , 'severity_name :' || p_service_request_rec.severity_name
5381 );
5382 FND_LOG.String
5383 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5384 , 'urgency_id :' || p_service_request_rec.urgency_id
5385 );
5386 FND_LOG.String
5387 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5388 , 'urgency_name :' || p_service_request_rec.urgency_name
5389 );
5390 FND_LOG.String
5391 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5392 , 'closed_date :' || p_service_request_rec.closed_date
5393 );
5394 FND_LOG.String
5395 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5396 , 'owner_id :' || p_service_request_rec.owner_id
5397 );
5398 FND_LOG.String
5399 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5400 , 'owner_group_id :' || p_service_request_rec.owner_group_id
5401 );
5402 FND_LOG.String
5403 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5404 , 'publish_flag :' || p_service_request_rec.publish_flag
5405 );
5406 FND_LOG.String
5407 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5408 , 'summary :' || p_service_request_rec.summary
5409 );
5410 FND_LOG.String
5411 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5412 , 'caller_type :' || p_service_request_rec.caller_type
5413 );
5414 FND_LOG.String
5415 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5416 , 'customer_id :' || p_service_request_rec.customer_id
5417 );
5418 FND_LOG.String
5419 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5420 , 'customer_number :' || p_service_request_rec.customer_number
5421 );
5422 FND_LOG.String
5423 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5424 , 'employee_id :' || p_service_request_rec.employee_id
5425 );
5426 FND_LOG.String
5427 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5428 , 'employee_number :' || p_service_request_rec.employee_number
5429 );
5430 FND_LOG.String
5431 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5432 , 'verify_cp_flag :' || p_service_request_rec.verify_cp_flag
5433 );
5434 FND_LOG.String
5435 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5436 , 'customer_product_id :' || p_service_request_rec.customer_product_id
5437 );
5438 FND_LOG.String
5439 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5440 , 'platform_id :' || p_service_request_rec.platform_id
5441 );
5442 FND_LOG.String
5443 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5444 , 'platform_version :' || p_service_request_rec.platform_version
5445 );
5446 FND_LOG.String
5447 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5448 , 'db_version :' || p_service_request_rec.db_version
5449 );
5450 FND_LOG.String
5451 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5452 , 'platform_version_id :' || p_service_request_rec.platform_version_id
5453 );
5454 FND_LOG.String
5455 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5456 , 'cp_component_id :' || p_service_request_rec.cp_component_id
5457 );
5458 FND_LOG.String
5459 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5460 , 'cp_component_version_id :' || p_service_request_rec.cp_component_version_id
5461 );
5462 FND_LOG.String
5463 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5464 , 'cp_subcomponent_id :' || p_service_request_rec.cp_subcomponent_id
5465 );
5466 FND_LOG.String
5467 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5468 , 'cp_subcomponent_version_id :' || p_service_request_rec.cp_subcomponent_version_id
5469 );
5470 FND_LOG.String
5471 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5472 , 'language_id :' || p_service_request_rec.language_id
5473 );
5474 FND_LOG.String
5475 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5476 , 'language :' || p_service_request_rec.language
5477 );
5478 FND_LOG.String
5479 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5480 , 'cp_ref_number :' || p_service_request_rec.cp_ref_number
5481 );
5482 FND_LOG.String
5483 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5484 , 'inventory_item_id :' || p_service_request_rec.inventory_item_id
5485 );
5486 FND_LOG.String
5487 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5488 , 'inventory_item_conc_segs :' || p_service_request_rec.inventory_item_conc_segs
5489 );
5490 FND_LOG.String
5491 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5492 , 'inventory_item_segment1 :' || p_service_request_rec.inventory_item_segment1
5493 );
5494 FND_LOG.String
5495 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5496 , 'inventory_item_segment2 :' || p_service_request_rec.inventory_item_segment2
5497 );
5498 FND_LOG.String
5499 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5500 , 'inventory_item_segment3 :' || p_service_request_rec.inventory_item_segment3
5501 );
5502 FND_LOG.String
5503 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5504 , 'inventory_item_segment4 :' || p_service_request_rec.inventory_item_segment4
5505 );
5506 FND_LOG.String
5507 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5508 , 'inventory_item_segment5 :' || p_service_request_rec.inventory_item_segment5
5509 );
5510 FND_LOG.String
5511 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5512 , 'inventory_item_segment6 :' || p_service_request_rec.inventory_item_segment6
5513 );
5514 FND_LOG.String
5515 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5516 , 'inventory_item_segment7 :' || p_service_request_rec.inventory_item_segment7
5517 );
5518 FND_LOG.String
5519 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5520 , 'inventory_item_segment8 :' || p_service_request_rec.inventory_item_segment8
5521 );
5522 FND_LOG.String
5523 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5524 , 'inventory_item_segment9 :' || p_service_request_rec.inventory_item_segment9
5525 );
5526 FND_LOG.String
5527 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5528 , 'inventory_item_segment10 :' || p_service_request_rec.inventory_item_segment10
5529 );
5530 FND_LOG.String
5531 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5532 , 'inventory_item_segment11 :' || p_service_request_rec.inventory_item_segment11
5533 );
5534 FND_LOG.String
5535 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5536 , 'inventory_item_segment12 :' || p_service_request_rec.inventory_item_segment12
5537 );
5538 FND_LOG.String
5539 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5540 , 'inventory_item_segment13 :' || p_service_request_rec.inventory_item_segment13
5541 );
5542 FND_LOG.String
5543 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5544 , 'inventory_item_segment14 :' || p_service_request_rec.inventory_item_segment14
5545 );
5546 FND_LOG.String
5547 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5548 , 'inventory_item_segment15 :' || p_service_request_rec.inventory_item_segment15
5549 );
5550 FND_LOG.String
5551 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5552 , 'inventory_item_segment16 :' || p_service_request_rec.inventory_item_segment16
5553 );
5554 FND_LOG.String
5555 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5556 , 'inventory_item_segment17 :' || p_service_request_rec.inventory_item_segment17
5557 );
5558 FND_LOG.String
5559 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5560 , 'inventory_item_segment18 :' || p_service_request_rec.inventory_item_segment18
5561 );
5562 FND_LOG.String
5563 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5564 , 'inventory_item_segment19 :' || p_service_request_rec.inventory_item_segment19
5565 );
5566 FND_LOG.String
5567 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5568 , 'inventory_item_segment20 :' || p_service_request_rec.inventory_item_segment20
5569 );
5570 FND_LOG.String
5571 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5572 , 'inventory_item_vals_or_ids :' || p_service_request_rec.inventory_item_vals_or_ids
5573 );
5574 FND_LOG.String
5575 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5576 , 'inventory_org_id :' || p_service_request_rec.inventory_org_id
5577 );
5578 FND_LOG.String
5579 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5580 , 'current_serial_number :' || p_service_request_rec.current_serial_number
5581 );
5582 FND_LOG.String
5583 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5584 , 'original_order_number :' || p_service_request_rec.original_order_number
5585 );
5586 FND_LOG.String
5587 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5588 , 'purchase_order_num :' || p_service_request_rec.purchase_order_num
5589 );
5590 FND_LOG.String
5591 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5592 , 'problem_code :' || p_service_request_rec.problem_code
5593 );
5594 FND_LOG.String
5595 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5596 , 'exp_resolution_date :' || p_service_request_rec.exp_resolution_date
5597 );
5598 FND_LOG.String
5599 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5600 , 'install_site_use_id :' || p_service_request_rec.install_site_use_id
5601 );
5602 FND_LOG.String
5603 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5604 , 'request_attribute_1 :' || p_service_request_rec.request_attribute_1
5605 );
5606 FND_LOG.String
5607 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5608 , 'request_attribute_2 :' || p_service_request_rec.request_attribute_2
5609 );
5610 FND_LOG.String
5611 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5612 , 'request_attribute_3 :' || p_service_request_rec.request_attribute_3
5613 );
5614 FND_LOG.String
5615 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5616 , 'request_attribute_4 :' || p_service_request_rec.request_attribute_4
5617 );
5618 FND_LOG.String
5619 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5620 , 'request_attribute_5 :' || p_service_request_rec.request_attribute_5
5621 );
5622 FND_LOG.String
5623 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5624 , 'request_attribute_6 :' || p_service_request_rec.request_attribute_6
5625 );
5626 FND_LOG.String
5627 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5628 , 'request_attribute_7 :' || p_service_request_rec.request_attribute_7
5629 );
5630 FND_LOG.String
5631 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5632 , 'request_attribute_8 :' || p_service_request_rec.request_attribute_8
5633 );
5634 FND_LOG.String
5635 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5636 , 'request_attribute_9 :' || p_service_request_rec.request_attribute_9
5637 );
5638 FND_LOG.String
5639 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5640 , 'request_attribute_10 :' || p_service_request_rec.request_attribute_10
5641 );
5642 FND_LOG.String
5643 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5644 , 'request_attribute_11 :' || p_service_request_rec.request_attribute_11
5645 );
5646 FND_LOG.String
5647 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5648 , 'request_attribute_12 :' || p_service_request_rec.request_attribute_12
5649 );
5650 FND_LOG.String
5651 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5652 , 'request_attribute_13 :' || p_service_request_rec.request_attribute_13
5653 );
5654 FND_LOG.String
5655 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5656 , 'request_attribute_14 :' || p_service_request_rec.request_attribute_14
5657 );
5658 FND_LOG.String
5659 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5660 , 'request_attribute_15 :' || p_service_request_rec.request_attribute_15
5661 );
5662 FND_LOG.String
5663 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5664 , 'request_context :' || p_service_request_rec.request_context
5665 );
5666 FND_LOG.String
5667 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5668 , 'external_attribute_1 :' || p_service_request_rec.external_attribute_1
5669 );
5670 FND_LOG.String
5671 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5672 , 'external_attribute_2 :' || p_service_request_rec.external_attribute_2
5673 );
5674 FND_LOG.String
5675 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5676 , 'external_attribute_3 :' || p_service_request_rec.external_attribute_3
5677 );
5678 FND_LOG.String
5679 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5680 , 'external_attribute_4 :' || p_service_request_rec.external_attribute_4
5681 );
5682 FND_LOG.String
5683 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5684 , 'external_attribute_5 :' || p_service_request_rec.external_attribute_5
5685 );
5686 FND_LOG.String
5687 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5688 , 'external_attribute_6 :' || p_service_request_rec.external_attribute_6
5689 );
5690 FND_LOG.String
5691 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5692 , 'external_attribute_7 :' || p_service_request_rec.external_attribute_7
5693 );
5694 FND_LOG.String
5695 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5696 , 'external_attribute_8 :' || p_service_request_rec.external_attribute_8
5697 );
5698 FND_LOG.String
5699 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5700 , 'external_attribute_9 :' || p_service_request_rec.external_attribute_9
5701 );
5702 FND_LOG.String
5703 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5704 , 'external_attribute_10 :' || p_service_request_rec.external_attribute_10
5705 );
5706 FND_LOG.String
5707 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5708 , 'external_attribute_11 :' || p_service_request_rec.external_attribute_11
5709 );
5710 FND_LOG.String
5711 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5712 , 'external_attribute_12 :' || p_service_request_rec.external_attribute_12
5713 );
5714 FND_LOG.String
5715 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5716 , 'external_attribute_13 :' || p_service_request_rec.external_attribute_13
5717 );
5718 FND_LOG.String
5719 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5720 , 'external_attribute_14 :' || p_service_request_rec.external_attribute_14
5721 );
5722 FND_LOG.String
5723 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5724 , 'external_attribute_15 :' || p_service_request_rec.external_attribute_15
5725 );
5726 FND_LOG.String
5727 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5728 , 'external_context :' || p_service_request_rec.external_context
5729 );
5730 FND_LOG.String
5731 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5732 , 'bill_to_site_use_id :' || p_service_request_rec.bill_to_site_use_id
5733 );
5734 FND_LOG.String
5735 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5736 , 'bill_to_contact_id :' || p_service_request_rec.bill_to_contact_id
5737 );
5738 FND_LOG.String
5739 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5740 , 'ship_to_site_use_id :' || p_service_request_rec.ship_to_site_use_id
5741 );
5742 FND_LOG.String
5743 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5744 , 'ship_to_contact_id :' || p_service_request_rec.ship_to_contact_id
5745 );
5746 FND_LOG.String
5747 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5748 , 'resolution_code :' || p_service_request_rec.resolution_code
5749 );
5750 FND_LOG.String
5751 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5752 , 'act_resolution_date :' || p_service_request_rec.act_resolution_date
5753 );
5754 FND_LOG.String
5755 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5756 , 'public_comment_flag :' || p_service_request_rec.public_comment_flag
5757 );
5758 FND_LOG.String
5759 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5760 , 'parent_interaction_id :' || p_service_request_rec.parent_interaction_id
5761 );
5762 FND_LOG.String
5763 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5764 , 'contract_service_id :' || p_service_request_rec.contract_service_id
5765 );
5766 FND_LOG.String
5767 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5768 , 'contract_service_number :' || p_service_request_rec.contract_service_number
5769 );
5770 FND_LOG.String
5771 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5772 , 'contract_id :' || p_service_request_rec.contract_id
5773 );
5774 FND_LOG.String
5775 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5776 , 'project_number :' || p_service_request_rec.project_number
5777 );
5778 FND_LOG.String
5779 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5780 , 'qa_collection_plan_id :' || p_service_request_rec.qa_collection_plan_id
5781 );
5782 FND_LOG.String
5783 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5784 , 'account_id :' || p_service_request_rec.account_id
5785 );
5786 FND_LOG.String
5787 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5788 , 'resource_type :' || p_service_request_rec.resource_type
5789 );
5790 FND_LOG.String
5791 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5792 , 'resource_subtype_id :' || p_service_request_rec.resource_subtype_id
5793 );
5794 FND_LOG.String
5795 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5796 , 'cust_po_number :' || p_service_request_rec.cust_po_number
5797 );
5798 FND_LOG.String
5799 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5800 , 'cust_ticket_number :' || p_service_request_rec.cust_ticket_number
5801 );
5802 FND_LOG.String
5803 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5804 , 'sr_creation_channel :' || p_service_request_rec.sr_creation_channel
5805 );
5806 FND_LOG.String
5807 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5808 , 'obligation_date :' || p_service_request_rec.obligation_date
5809 );
5810 FND_LOG.String
5811 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5812 , 'time_zone_id :' || p_service_request_rec.time_zone_id
5813 );
5814 FND_LOG.String
5815 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5816 , 'time_difference :' || p_service_request_rec.time_difference
5817 );
5818 FND_LOG.String
5819 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5820 , 'site_id :' || p_service_request_rec.site_id
5821 );
5822 FND_LOG.String
5823 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5824 , 'customer_site_id :' || p_service_request_rec.customer_site_id
5825 );
5826 FND_LOG.String
5827 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5828 , 'territory_id :' || p_service_request_rec.territory_id
5829 );
5830 FND_LOG.String
5831 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5832 , 'initialize_flag :' || p_service_request_rec.initialize_flag
5833 );
5834 FND_LOG.String
5835 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5836 , 'cp_revision_id :' || p_service_request_rec.cp_revision_id
5837 );
5838 FND_LOG.String
5839 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5840 , 'inv_item_revision :' || p_service_request_rec.inv_item_revision
5841 );
5842 FND_LOG.String
5843 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5844 , 'inv_component_id :' || p_service_request_rec.inv_component_id
5845 );
5846 FND_LOG.String
5847 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5848 , 'inv_component_version :' || p_service_request_rec.inv_component_version
5849 );
5850 FND_LOG.String
5851 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5852 , 'inv_subcomponent_id :' || p_service_request_rec.inv_subcomponent_id
5853 );
5854 FND_LOG.String
5855 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5856 , 'inv_subcomponent_version :' || p_service_request_rec.inv_subcomponent_version
5857 );
5858 FND_LOG.String
5859 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5860 , 'tier :' || p_service_request_rec.tier
5861 );
5862 FND_LOG.String
5863 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5864 , 'tier_version :' || p_service_request_rec.tier_version
5865 );
5866 FND_LOG.String
5867 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5868 , 'operating_system :' || p_service_request_rec.operating_system
5869 );
5870 FND_LOG.String
5871 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5872 , 'operating_system_version :' || p_service_request_rec.operating_system_version
5873 );
5874 FND_LOG.String
5875 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5876 , 'database :' || p_service_request_rec.database
5877 );
5878 FND_LOG.String
5879 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5880 , 'cust_pref_lang_id :' || p_service_request_rec.cust_pref_lang_id
5881 );
5882 FND_LOG.String
5883 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5884 , 'category_id :' || p_service_request_rec.category_id
5885 );
5886 FND_LOG.String
5887 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5888 , 'group_type :' || p_service_request_rec.group_type
5889 );
5890 FND_LOG.String
5891 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5892 , 'group_territory_id :' || p_service_request_rec.group_territory_id
5893 );
5894 FND_LOG.String
5895 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5896 , 'inv_platform_org_id :' || p_service_request_rec.inv_platform_org_id
5897 );
5898 FND_LOG.String
5899 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5900 , 'component_version :' || p_service_request_rec.component_version
5901 );
5902 FND_LOG.String
5903 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5904 , 'subcomponent_version :' || p_service_request_rec.subcomponent_version
5905 );
5906 FND_LOG.String
5907 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5908 , 'product_revision :' || p_service_request_rec.product_revision
5909 );
5910 FND_LOG.String
5911 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5912 , 'comm_pref_code :' || p_service_request_rec.comm_pref_code
5913 );
5914 FND_LOG.String
5915 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5916 , 'cust_pref_lang_code :' || p_service_request_rec.cust_pref_lang_code
5917 );
5918 FND_LOG.String
5919 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5920 , 'last_update_channel :' || p_service_request_rec.last_update_channel
5921 );
5922 FND_LOG.String
5923 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5924 , 'category_set_id :' || p_service_request_rec.category_set_id
5925 );
5926 FND_LOG.String
5927 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5928 , 'external_reference :' || p_service_request_rec.external_reference
5929 );
5930 FND_LOG.String
5931 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5932 , 'system_id :' || p_service_request_rec.system_id
5933 );
5934 FND_LOG.String
5935 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5936 , 'error_code :' || p_service_request_rec.error_code
5937 );
5938 FND_LOG.String
5939 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5940 , 'incident_occurred_date :' || p_service_request_rec.incident_occurred_date
5941 );
5942 FND_LOG.String
5943 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5944 , 'incident_resolved_date :' || p_service_request_rec.incident_resolved_date
5945 );
5946 FND_LOG.String
5947 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5948 , 'inc_responded_by_date :' || p_service_request_rec.inc_responded_by_date
5949 );
5950 FND_LOG.String
5951 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5952 , 'resolution_summary :' || p_service_request_rec.resolution_summary
5953 );
5954 FND_LOG.String
5955 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5956 , 'incident_location_id :' || p_service_request_rec.incident_location_id
5957 );
5958 FND_LOG.String
5959 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5960 , 'incident_address :' || p_service_request_rec.incident_address
5961 );
5962 FND_LOG.String
5963 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5964 , 'incident_city :' || p_service_request_rec.incident_city
5965 );
5966 FND_LOG.String
5967 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5968 , 'incident_state :' || p_service_request_rec.incident_state
5969 );
5970 FND_LOG.String
5971 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5972 , 'incident_country :' || p_service_request_rec.incident_country
5973 );
5974 FND_LOG.String
5975 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5976 , 'incident_province :' || p_service_request_rec.incident_province
5977 );
5978 FND_LOG.String
5979 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5980 , 'incident_postal_code :' || p_service_request_rec.incident_postal_code
5981 );
5982 FND_LOG.String
5983 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5984 , 'incident_county :' || p_service_request_rec.incident_county
5985 );
5986 FND_LOG.String
5987 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5988 , 'owner :' || p_service_request_rec.owner
5989 );
5990 FND_LOG.String
5991 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5992 , 'group_owner :' || p_service_request_rec.group_owner
5993 );
5994 FND_LOG.String
5995 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
5996 , 'cc_number :' || p_service_request_rec.cc_number
5997 );
5998 FND_LOG.String
5999 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6000 , 'cc_expiration_date :' || p_service_request_rec.cc_expiration_date
6001 );
6002 FND_LOG.String
6003 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6004 , 'cc_type_code :' || p_service_request_rec.cc_type_code
6005 );
6006 FND_LOG.String
6007 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6008 , 'cc_first_name :' || p_service_request_rec.cc_first_name
6009 );
6010 FND_LOG.String
6011 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6012 , 'cc_last_name :' || p_service_request_rec.cc_last_name
6013 );
6014 FND_LOG.String
6015 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6016 , 'cc_middle_name :' || p_service_request_rec.cc_middle_name
6017 );
6018 FND_LOG.String
6019 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6020 , 'cc_id :' || p_service_request_rec.cc_id
6021 );
6022 FND_LOG.String
6023 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6024 , 'bill_to_account_id :' || p_service_request_rec.bill_to_account_id
6025 );
6026 FND_LOG.String
6027 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6028 , 'ship_to_account_id :' || p_service_request_rec.ship_to_account_id
6029 );
6030 FND_LOG.String
6031 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6032 , 'customer_phone_id :' || p_service_request_rec.customer_phone_id
6033 );
6034 FND_LOG.String
6035 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6036 , 'customer_email_id :' || p_service_request_rec.customer_email_id
6037 );
6038 FND_LOG.String
6039 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6040 , 'creation_program_code :' || p_service_request_rec.creation_program_code
6041 );
6042 FND_LOG.String
6043 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6044 , 'last_update_program_code :' || p_service_request_rec.last_update_program_code
6045 );
6046 FND_LOG.String
6047 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6048 , 'bill_to_party_id :' || p_service_request_rec.bill_to_party_id
6049 );
6050 FND_LOG.String
6051 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6052 , 'ship_to_party_id :' || p_service_request_rec.ship_to_party_id
6053 );
6054 FND_LOG.String
6055 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6056 , 'program_id :' || p_service_request_rec.program_id
6057 );
6058 FND_LOG.String
6059 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6060 , 'program_application_id :' || p_service_request_rec.program_application_id
6061 );
6062 FND_LOG.String
6063 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6064 , 'conc_request_id :' || p_service_request_rec.conc_request_id
6065 );
6066 FND_LOG.String
6067 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6068 , 'program_login_id :' || p_service_request_rec.program_login_id
6069 );
6070 FND_LOG.String
6071 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6072 , 'bill_to_site_id :' || p_service_request_rec.bill_to_site_id
6073 );
6074 FND_LOG.String
6075 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6076 , 'ship_to_site_id :' || p_service_request_rec.ship_to_site_id
6077 );
6078 FND_LOG.String
6079 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6080 , 'incident_point_of_interest :' || p_service_request_rec.incident_point_of_interest
6081 );
6082 FND_LOG.String
6083 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6084 , 'incident_cross_street :' || p_service_request_rec.incident_cross_street
6085 );
6086 FND_LOG.String
6087 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6088 , 'incident_direction_qualifier :' || p_service_request_rec.incident_direction_qualifier
6089 );
6090 FND_LOG.String
6091 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6092 , 'incident_distance_qualifier :' || p_service_request_rec.incident_distance_qualifier
6093 );
6094 FND_LOG.String
6095 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6096 , 'incident_distance_qual_uom :' || p_service_request_rec.incident_distance_qual_uom
6097 );
6098 FND_LOG.String
6099 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6100 , 'incident_address2 :' || p_service_request_rec.incident_address2
6101 );
6102 FND_LOG.String
6103 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6104 , 'incident_address3 :' || p_service_request_rec.incident_address3
6105 );
6106 FND_LOG.String
6107 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6108 , 'incident_address4 :' || p_service_request_rec.incident_address4
6109 );
6110 FND_LOG.String
6111 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6112 , 'incident_address_style :' || p_service_request_rec.incident_address_style
6113 );
6114 FND_LOG.String
6115 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6116 , 'incident_addr_lines_phonetic :' || p_service_request_rec.incident_addr_lines_phonetic
6117 );
6118 FND_LOG.String
6119 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6120 , 'incident_po_box_number :' || p_service_request_rec.incident_po_box_number
6121 );
6122 FND_LOG.String
6123 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6124 , 'incident_house_number :' || p_service_request_rec.incident_house_number
6125 );
6126 FND_LOG.String
6127 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6128 , 'incident_street_suffix :' || p_service_request_rec.incident_street_suffix
6129 );
6130 FND_LOG.String
6131 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6132 , 'incident_street :' || p_service_request_rec.incident_street
6133 );
6134 FND_LOG.String
6135 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6136 , 'incident_street_number :' || p_service_request_rec.incident_street_number
6137 );
6138 FND_LOG.String
6139 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6140 , 'incident_floor :' || p_service_request_rec.incident_floor
6141 );
6142 FND_LOG.String
6143 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6144 , 'incident_suite :' || p_service_request_rec.incident_suite
6145 );
6146 FND_LOG.String
6147 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6148 , 'incident_postal_plus4_code :' || p_service_request_rec.incident_postal_plus4_code
6149 );
6150 FND_LOG.String
6151 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6152 , 'incident_position :' || p_service_request_rec.incident_position
6153 );
6154 FND_LOG.String
6155 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6156 , 'incident_location_directions :' || p_service_request_rec.incident_location_directions
6157 );
6158 FND_LOG.String
6159 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6160 , 'incident_location_description :' || p_service_request_rec.incident_location_description
6161 );
6162 FND_LOG.String
6163 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6164 , 'install_site_id :' || p_service_request_rec.install_site_id
6165 );
6166 FND_LOG.String
6167 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6168 , 'item_serial_number :' || p_service_request_rec.item_serial_number
6169 );
6170 FND_LOG.String
6171 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6172 , 'owning_department_id :' || p_service_request_rec.owning_department_id
6173 );
6174 FND_LOG.String
6175 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6176 , 'incident_location_type :' || p_service_request_rec.incident_location_type
6177 );
6178 FND_LOG.String
6179 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6180 , 'coverage_type :' || p_service_request_rec.coverage_type
6181 );
6182 FND_LOG.String
6183 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6184 , 'maint_organization_id :' || p_service_request_rec.maint_organization_id
6185 );
6186 /*Credit Card 9358401 */
6187 FND_LOG.String
6188 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6189 , 'instrument_payment_use_id :' || p_service_request_rec.instrument_payment_use_id
6190 );
6191
6192 --12.2+ project siahmed - integrating Oracle Pojects with SR
6193 FND_LOG.String
6194 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6195 , 'project_id :' || p_service_request_rec.project_id
6196 );
6197
6198 FND_LOG.String
6199 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6200 , 'project_task_id :' || p_service_request_rec.project_task_id
6201 );
6202
6203 FND_LOG.String
6204 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6205 , 'expenditure_org_id :' || p_service_request_rec.expenditure_org_id
6206 );
6207
6208 --end of project related stuff 12.2+ siahmed
6209
6210 --14004721 . Additional SLA dates
6211 FND_LOG.String
6212 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6213 , 'sla_date_1 :' || p_service_request_rec.sla_date_1
6214 );
6215 FND_LOG.String
6216 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6217 , 'sla_date_2 :' || p_service_request_rec.sla_date_2
6218 );
6219 FND_LOG.String
6220 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6221 , 'sla_date_3 :' || p_service_request_rec.sla_date_3
6222 );
6223 FND_LOG.String
6224 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6225 , 'sla_date_4 :' || p_service_request_rec.sla_date_4
6226 );
6227 FND_LOG.String
6228 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6229 , 'sla_date_5 :' || p_service_request_rec.sla_date_5
6230 );
6231 FND_LOG.String
6232 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6233 , 'sla_date_6 :' || p_service_request_rec.sla_date_6
6234 );
6235 FND_LOG.String
6236 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6237 , 'sla_duration_1 :' || p_service_request_rec.sla_duration_1
6238 );
6239 FND_LOG.String
6240 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6241 , 'sla_duration_2 :' || p_service_request_rec.sla_duration_2
6242 );
6243
6244 --15995804. Add price_list_header_id
6245 FND_LOG.String
6246 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6247 , 'price_list_header_id :' || p_service_request_rec.price_list_header_id
6248 );
6249
6250 -- For Notes
6251 l_note_index := p_notes.FIRST;
6252 WHILE l_note_index IS NOT NULL LOOP
6253 FND_LOG.String
6254 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6255 , 'note :' ||p_notes(l_note_index).note
6256 );
6257 FND_LOG.String
6258 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6259 , 'note_detail :' ||p_notes(l_note_index).note_detail
6260 );
6261 FND_LOG.String
6262 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6263 , 'note_type :' ||p_notes(l_note_index).note_type
6264 );
6265 FND_LOG.String
6266 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6267 , 'note_context_type_01 :' ||p_notes(l_note_index).note_context_type_01
6268 );
6269 FND_LOG.String
6270 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6271 , 'note_context_type_id_01 :' ||p_notes(l_note_index).note_context_type_id_01
6272 );
6273 FND_LOG.String
6274 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6275 , 'note_context_type_02 :' ||p_notes(l_note_index).note_context_type_02
6276 );
6277 FND_LOG.String
6278 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6279 , 'note_context_type_id_02 :' ||p_notes(l_note_index).note_context_type_id_02
6280 );
6281 FND_LOG.String
6282 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6283 , 'note_context_type_03 :' ||p_notes(l_note_index).note_context_type_03
6284 );
6285 FND_LOG.String
6286 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6287 , 'note_context_type_id_03 :' ||p_notes(l_note_index).note_context_type_id_03
6288 );
6289
6290 l_note_index := p_notes.NEXT(l_note_index);
6291 END LOOP;
6292
6293 -- For Contacts
6294 l_contact_index := p_contacts.FIRST;
6295 WHILE l_contact_index IS NOT NULL LOOP
6296 FND_LOG.String
6297 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6298 , 'sr_contact_point_id :' || p_contacts(l_contact_index).sr_contact_point_id
6299 );
6300 FND_LOG.String
6301 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6302 , 'party_id :' || p_contacts(l_contact_index).party_id
6303 );
6304 FND_LOG.String
6305 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6306 , 'contact_point_id :' || p_contacts(l_contact_index).contact_point_id
6307 );
6308 FND_LOG.String
6309 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6310 , 'contact_point_type :' || p_contacts(l_contact_index).contact_point_type
6311 );
6312 FND_LOG.String
6313 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6314 , 'primary_flag :' || p_contacts(l_contact_index).primary_flag
6315 );
6316 FND_LOG.String
6317 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6318 , 'contact_type :' || p_contacts(l_contact_index).contact_type
6319 );
6320 FND_LOG.String
6321 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6322 , 'party_role_code :' || P_contacts(l_contact_index).party_role_code
6323 );
6324 FND_LOG.String
6325 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6326 , 'start_date_active :' || P_contacts(l_contact_index).start_date_active
6327 );
6328 FND_LOG.String
6329 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6330 , 'end_date_active :' || P_contacts(l_contact_index).end_date_active
6331 );
6332
6333 l_contact_index := p_contacts.NEXT(l_contact_index);
6334 END LOOP;
6335
6336 END IF ;
6337
6338 END Log_SR_PUB_Parameters;
6339
6340 --Start changes for Get SR related info for 12.2 project
6341 PROCEDURE GET_SR_INFO
6342 ( p_api_version IN NUMBER,
6343 p_incident_id IN NUMBER ,
6344 p_incident_number IN VARCHAR2,
6345 x_getsr_out_rec IN OUT NOCOPY get_sr_rec,
6346 x_tasks IN OUT NOCOPY tasks_table,
6347 x_notes IN OUT NOCOPY sr_notes_table,
6348 x_return_status OUT NOCOPY VARCHAR2,
6349 x_msg_count OUT NOCOPY VARCHAR2,
6350 x_msg_data OUT NOCOPY VARCHAR2)
6351 IS
6352
6353
6354 CURSOR SR_RECORDS_CUR (incident_id_in IN NUMBER)
6355 IS
6356 (select
6357 inc.incident_id
6358 ,inc.incident_number IncidentNumber
6359 ,inc.incident_type_id
6360 ,(select type.name
6361 from cs_incident_types_tl type
6362 where type.incident_type_id = inc.incident_type_id
6363 and type.language = userenv('LANG')) IncidentType
6364 ,inc.incident_status_id IncidentStatusId
6365 ,(select status.name
6366 from cs_incident_statuses_tl status
6367 where status.incident_status_id = inc.incident_status_id
6368 and status.language = userenv('LANG') )IncidentStatus
6369 ,inc.incident_severity_id IncidentSeverityId
6370 ,(select sev.name
6371 from cs_incident_severities_tl sev
6372 where sev.incident_severity_id = inc.incident_severity_id
6373 and sev.language = userenv('LANG')) IncidentSeverity
6374 ,(select sev.importance_level
6375 from cs_incident_severities_b sev
6376 where sev.incident_severity_id = inc.incident_severity_id
6377 ) SevImportanceLevel
6378 ,inc.incident_urgency_id IncidentUrgencyId
6379 ,(select urgency.name
6380 from cs_incident_urgencies_tl urgency
6381 where urgency.incident_urgency_id = inc.incident_urgency_id
6382 and urgency.language = userenv('LANG')) IncidentUrgency
6383 ,inc.owner_group_id SrGroupId
6384 ,( SELECT gr.group_name
6385 FROM jtf_rs_groups_tl gr
6386 WHERE gr.group_id = inc.owner_group_id
6387 AND gr.LANGUAGE = userenv('LANG') )SrGroup
6388 ,inc.incident_owner_id SrOwnerId
6389 ,( SELECT rs.resource_name
6390 FROM jtf_rs_resource_extns_tl rs
6391 WHERE rs.resource_id = inc.incident_owner_id
6392 AND language = userenv('LANG') )SrOwner
6393 ,inc.problem_code ProblemcodeId
6394 ,(SELECT problem.meaning
6395 FROM FND_LOOKUP_VALUES problem
6396 WHERE problem.lookup_code = inc.problem_code
6397 AND problem.lookup_type = 'REQUEST_PROBLEM_CODE'
6398 AND problem.LANGUAGE = userenv('LANG')
6399 AND problem.View_APPLICATION_ID = 170
6400 AND problem.SECURITY_GROUP_ID = fnd_global.lookup_security_group(problem.LOOKUP_TYPE, problem.VIEW_APPLICATION_ID)
6401 ) Problemcode
6402 ,inc.resolution_code ResolutioncodeId
6403 ,(SELECT resolution.meaning
6404 FROM FND_LOOKUP_VALUES resolution
6405 WHERE resolution.lookup_code = inc.resolution_code
6406 AND resolution.lookup_type = 'REQUEST_RESOLUTION_CODE'
6407 AND resolution.LANGUAGE = userenv('LANG')
6408 AND resolution.View_APPLICATION_ID = 170
6409 AND resolution.SECURITY_GROUP_ID = fnd_global.lookup_security_group(resolution.LOOKUP_TYPE, resolution.VIEW_APPLICATION_ID)
6410 ) Resolutioncode
6411 ,inc.publish_flag PublishFlag
6412 ,(SELECT channel.meaning
6413 FROM FND_LOOKUP_VALUES channel
6414 WHERE channel.lookup_code = inc.sr_creation_channel
6415 AND channel.lookup_type = 'CS_SR_CREATION_CHANNEL'
6416 AND channel.LANGUAGE = userenv('LANG')
6417 AND channel.View_APPLICATION_ID = 170
6418 AND channel.SECURITY_GROUP_ID = fnd_global.lookup_security_group(channel.LOOKUP_TYPE,channel.VIEW_APPLICATION_ID)
6419 ) SrCreationChannel
6420 ,tl.summary Summary
6421 ,tl.resolution_summary ResolutionSummary
6422 ,(select usr.user_name
6423 from fnd_user usr
6424 where usr.user_id = inc.created_by)CreatedBy
6425 ,sr_cont.party_id ContactPartyId
6426 ,(select cont_type_lkup.meaning
6427 from FND_LOOKUP_VALUES cont_type_lkup
6428 where sr_cont.contact_type=cont_type_lkup.lookup_code
6429 and cont_type_lkup.lookup_type = 'CS_SR_CONTACT_TYPE'
6430 AND cont_type_lkup.LANGUAGE = userenv('LANG')
6431 AND cont_type_lkup.View_APPLICATION_ID = 170
6432 AND cont_type_lkup.SECURITY_GROUP_ID = fnd_global.lookup_security_group(cont_type_lkup.LOOKUP_TYPE, cont_type_lkup.VIEW_APPLICATION_ID)
6433 )ContactType
6434 ,csz_servicerequest_util_pvt.get_contact_name(sr_cont.contact_type,
6435 sr_cont.party_id,
6436 inc.customer_id) ContactName
6437 ,inc.time_zone_id TimeZoneId
6438 ,(select hz_time.global_timezone_name
6439 from hz_timezones hz_time
6440 where hz_time.timezone_id = inc.time_zone_id) TimeZoneName
6441 ,inc.customer_id CustomerId
6442 ,party.party_number CustomerNumber
6443 ,party.party_name CustomerName
6444 ,inc.account_id AccountId
6445 ,(select account.account_number
6446 from hz_cust_accounts account
6447 where account.cust_account_id = inc.account_id) accountnumber
6448 ,inc.inventory_item_id InventoryItemId
6449 ,(select product_b.concatenated_segments
6450 from mtl_system_items_b_kfv product_b
6451 where product_b.inventory_item_id = inc.inventory_item_id
6452 and product_b.organization_id = inc.inv_organization_id) Product
6453 ,(select product_tl.description
6454 from mtl_system_items_tl product_tl
6455 where product_tl.inventory_item_id = inc.inventory_item_id
6456 and product_tl.organization_id = inc.inv_organization_id
6457 and product_tl.language = userenv('LANG')) ProductDescription
6458 ,inc.incident_date CreationDate
6459 ,inc.incident_last_modified_date LastUpdateDate
6460 ,inc.incident_occurred_date IncidentDate
6461 ,inc.close_date CloseDate
6462 ,inc.incident_resolved_date DateResolved
6463 ,inc.obligation_date ExpectedReactionDate
6464 ,inc.expected_resolution_date ExpectedResolutionDate
6465 , inc.inc_responded_by_date DateFirstReacted
6466 ,inc.actual_resolution_date ActualResolutionDate
6467 ,(select status_b.sort_order
6468 from cs_incident_statuses_b status_b
6469 where status_b.incident_status_id = inc.incident_status_id
6470 ) statussortorder
6471 ,inc.status_flag StatusFlagCode
6472 ,inc.inc_responded_by_date IncRespondedByDate
6473 ,inc.created_by CreatedById
6474 ,inc.customer_product_id CustomerProductId
6475 ,inc.org_id OrganizationId
6476 ,inc.inv_organization_id InventoryOrgId
6477 ,nvl2(party.primary_phone_country_code,
6478 party.primary_phone_country_code||'-',null)||
6479 nvl2(party.primary_phone_area_code,
6480 party.primary_phone_area_code||'-',null)||
6481 party.primary_phone_number customerphone
6482 ,party.email_address CustomerEmail
6483 ,(select hdr.contract_number
6484 from okc_k_headers_all_b hdr,
6485 okc_k_lines_b svl
6486 where hdr.id = svl.chr_id
6487 and hdr.id = svl.dnz_chr_id
6488 and hdr.scs_code in ('SERVICE','WARRANTY','SUBSCRIPTION')
6489 and svl.id = inc.contract_service_id) ContractNumber
6490 ,(select mtl.description
6491 from okc_k_lines_b svl,
6492 okc_k_items cim,
6493 mtl_system_items_b mtl
6494 where svl.id = cim.cle_id
6495 and cim.object1_id1 = mtl.inventory_item_id
6496 and cim.object1_id2 = mtl.organization_id
6497 and svl.id = inc.contract_service_id) ContractServiceDescription
6498 ,(select covt.item_description
6499 from okc_k_lines_b svl,
6500 okc_k_lines_tl covt,
6501 okc_k_lines_b covb,
6502 oks_k_lines_b okssrv
6503 where okssrv.cle_id = svl.id
6504 and covb.id = okssrv.coverage_id
6505 and covb.lse_id in (2,15,20)
6506 and covt.language = userenv('LANG')
6507 and covb.id = covt.id
6508 and covt.language = userenv('LANG')
6509 and svl.id = inc.contract_service_id) ContractCoverageDescription
6510 ,( SELECT cust_type_lkup.meaning
6511 FROM FND_LOOKUP_VALUES cust_type_lkup
6512 WHERE party.party_type = cust_type_lkup.lookup_code
6513 AND cust_type_lkup.lookup_type='CS_SR_CALLER_TYPE'
6514 and cust_type_lkup.LANGUAGE = userenv('LANG')
6515 and cust_type_lkup.View_APPLICATION_ID = 170
6516 and cust_type_lkup.SECURITY_GROUP_ID = fnd_global.lookup_security_group(cust_type_lkup.LOOKUP_TYPE,cust_type_lkup.VIEW_APPLICATION_ID)
6517 ) CustomerType
6518 ,decode(sr_cont.contact_type,'EMPLOYEE', (select phone_number
6519 from per_phones per
6520 where per.phone_id = sr_cont.contact_point_id)
6521 , (nvl2(hzcp.phone_country_code,
6522 '+'||hzcp.phone_country_code||' ',null)|| nvl2(hzcp.phone_area_code,'(' ||hzcp.phone_area_code ||')',null)||
6523 hzcp.phone_number ||' ' || nvl2(hzcp.phone_extension, 'x'||hzcp.phone_extension ,null) )
6524 ) ContactPhoneNumber
6525 ,(SELECT CASE when sr_cont.contact_type='EMPLOYEE' then
6526 (select email_address from per_all_people_f per, PER_ALL_ASSIGNMENTS_F Asmt
6527 where per.person_id =sr_cont.party_id
6528 AND Asmt.PERSON_ID = Per.PERSON_ID
6529 AND Asmt.PRIMARY_FLAG = 'Y'
6530 AND Asmt.ASSIGNMENT_TYPE in ( 'E', 'C')
6531 AND Per.EFFECTIVE_START_DATE = (SELECT MAX(q.EFFECTIVE_START_DATE)
6532 FROM PER_ALL_PEOPLE_F q
6533 WHERE q.person_id = per.person_id)
6534 AND Asmt.EFFECTIVE_START_DATE= (SELECT MAX(b.EFFECTIVE_START_DATE)
6535 FROM PER_ALL_ASSIGNMENTS_F b
6536 WHERE b.person_id = Asmt.person_id
6537 AND b.assignment_id = Asmt.assignment_id) and rownum=1)
6538 ELSE hzcp.email_address END AS ContactEmail from dual) ContactEmail
6539 ,(SELECT cat.concatenated_segments
6540 FROM mtl_categories_b_kfv cat
6541 WHERE cat.category_id = inc.category_id )ItemCategory
6542 ,( select csi.instance_number
6543 from csi_item_instances csi
6544 where csi.instance_id = inc.customer_product_id ) InstanceNumber
6545 , nvl((select csi.serial_number
6546 from csi_item_instances csi
6547 where csi.instance_id = inc.customer_product_id ), inc.current_serial_number ) SerialNumber
6548 ,nvl( (select csi.external_reference
6549 from csi_item_instances csi
6550 where csi.instance_id = inc.customer_product_id ), inc.external_reference ) TagNumber
6551 ,( SELECT sys.name
6552 FROM CSI_SYSTEMS_TL sys
6553 WHERE sys.system_id = inc.system_id
6554 and sys.LANGUAGE = USERENV('LANG') ) SystemNumber
6555 ,(CASE WHEN inc.cp_component_id is not null THEN
6556 (select product_a.concatenated_segments
6557 from mtl_system_items_b_kfv product_a,
6558 csi_item_instances instance
6559 where product_a.inventory_item_id = instance.inventory_item_id
6560 and product_a.organization_id = inc.inv_organization_id
6561 and inc.cp_component_id=instance.instance_id )
6562 ELSE
6563 (select product_a.concatenated_segments
6564 from mtl_system_items_b_kfv product_a
6565 where product_a.inventory_item_id = inc.inv_component_id
6566 and product_a.organization_id = inc.inv_organization_id )
6567 END ) Component
6568 ,(CASE WHEN inc.cp_subcomponent_id is not null THEN
6569 (select product_b.concatenated_segments
6570 from mtl_system_items_b_kfv product_b,
6571 csi_item_instances instance
6572 where product_b.inventory_item_id = instance.inventory_item_id
6573 and product_b.organization_id = inc.inv_organization_id
6574 and inc.cp_subcomponent_id = instance.instance_id )
6575 ELSE
6576 (select product_b.concatenated_segments
6577 from mtl_system_items_b_kfv product_b
6578 where product_b.inventory_item_id = inc.inv_subcomponent_id
6579 and product_b.organization_id = inc.inv_organization_id )
6580 END ) SubComponent
6581 , nvl2(inc.customer_product_id, instance.inventory_revision,
6582 inc.inv_item_revision ) ItemRevision
6583 , nvl2(inc.customer_product_id, (select instance.inventory_revision
6584 from mtl_system_items_b_kfv product_a,
6585 csi_item_instances instance
6586 where product_a.inventory_item_id = instance.inventory_item_id
6587 and product_a.organization_id = inc.inv_organization_id
6588 and inc.cp_component_id=instance.instance_id)
6589 , inc.inv_component_version ) ComponentRevision
6590 , nvl2(inc.customer_product_id, (select instance.inventory_revision
6591 from mtl_system_items_b_kfv product_b,
6592 csi_item_instances instance
6593 where product_b.inventory_item_id = instance.inventory_item_id
6594 and product_b.organization_id = inc.inv_organization_id
6595 and inc.cp_subcomponent_id = instance.instance_id )
6596 , inc.inv_subcomponent_version ) SubComponentRevision
6597 ,(CASE WHEN inc.incident_location_id is not null and
6598 inc.incident_location_type ='HZ_LOCATIONS' THEN
6599 (select loc.address1 || nvl2(loc.address2,', '||loc.address2,null) ||
6600 nvl2(loc.address3,', '||loc.address3,null) ||
6601 nvl2(loc.address4,', '||loc.address4,null) ||
6602 nvl2(loc.city, ','||loc.city,null) ||
6603 nvl2(loc.state, ','||loc.state,null) ||
6604 nvl2(loc.province, ','||loc.province,null) ||
6605 nvl2(loc.postal_code, ' '||loc.postal_code,null) ||
6606 nvl2(loc.country, ' '||loc.country,null)
6607 from hz_locations loc
6608 where loc.location_id = inc.incident_location_id )
6609 WHEN inc.incident_location_id is not null and inc.incident_location_type
6610 ='HZ_PARTY_SITE' THEN
6611 (select loc.address1 || nvl2(loc.address2,', '||loc.address2,null) ||
6612 nvl2(loc.address3,', '||loc.address3,null) ||
6613 nvl2(loc.address4,', '||loc.address4,null) ||
6614 nvl2(loc.city, ','||loc.city,null) ||
6615 nvl2(loc.state, ','||loc.state,null) ||
6616 nvl2(loc.province, ','||loc.province,null) ||
6617 nvl2(loc.postal_code, ' '||loc.postal_code,null) ||
6618 nvl2(loc.country, ' '||loc.country,null)
6619 from hz_locations loc,
6620 hz_party_sites hzp
6621 where inc.incident_location_id = hzp.party_site_id
6622 and hzp.location_id = loc.location_id )
6623 ELSE inc.incident_address ||
6624 nvl2(inc.incident_city, ','||inc.incident_city,null) ||
6625 nvl2(inc.incident_state, ', '||inc.incident_state,null) ||
6626 nvl2(inc.incident_province, ','||inc.incident_province,null) ||
6627 nvl2(inc.incident_postal_code, ' '||inc.incident_postal_code,null)
6628 ||
6629 nvl2(inc.incident_country, ' '||inc.incident_country,null)
6630 END ) IncidentAddress
6631 ,(SELECT name
6632 FROM jtf_objects_tl o,
6633 jtf_object_usages ou
6634 WHERE o.object_code = ou.object_code
6635 AND ou.object_user_code = 'RESOURCES'
6636 AND o.object_code = inc.resource_type
6637 AND o.LANGUAGE = userenv ( 'LANG' ) ) ResourceType
6638 ,inc.incident_attribute_1 Attribute1
6639 ,inc.incident_attribute_2 Attribute2
6640 ,inc.incident_attribute_3 Attribute3
6641 ,inc.incident_attribute_4 Attribute4
6642 ,inc.incident_attribute_5 Attribute5
6643 ,inc.incident_attribute_6 Attribute6
6644 ,inc.incident_attribute_7 Attribute7
6645 ,inc.incident_attribute_8 Attribute8
6646 ,inc.incident_attribute_9 Attribute9
6647 ,inc.incident_attribute_10 Attribute10
6648 ,inc.incident_attribute_11 Attribute11
6649 ,inc.incident_attribute_12 Attribute12
6650 ,inc.incident_attribute_13 Attribute13
6651 ,inc.incident_attribute_14 Attribute14
6652 ,inc.incident_attribute_15 Attribute15
6653 ,inc.incident_context IncidentContext
6654 ,inc.external_attribute_1 ExtAttribute1
6655 ,inc.external_attribute_2 ExtAttribute2
6656 ,inc.external_attribute_3 ExtAttribute3
6657 ,inc.external_attribute_4 ExtAttribute4
6658 ,inc.external_attribute_5 ExtAttribute5
6659 ,inc.external_attribute_6 ExtAttribute6
6660 ,inc.external_attribute_7 ExtAttribute7
6661 ,inc.external_attribute_8 ExtAttribute8
6662 ,inc.external_attribute_9 ExtAttribute9
6663 ,inc.external_attribute_10 ExtAttribute10
6664 ,inc.external_attribute_11 ExtAttribute11
6665 ,inc.external_attribute_12 ExtAttribute12
6666 ,inc.external_attribute_13 ExtAttribute13
6667 ,inc.external_attribute_14 ExtAttribute14
6668 ,inc.external_attribute_15 ExtAttribute15
6669 ,inc.external_context ExtContext
6670 from
6671 cs_incidents_all_b inc
6672 ,cs_incidents_all_tl tl
6673 ,hz_parties party
6674 ,cs_hz_sr_contact_points sr_cont
6675 ,hz_contact_points hzcp
6676 ,csi_item_instances instance
6677 where
6678 inc.incident_id = tl.incident_id
6679 and tl.language = userenv('lang')
6680 and inc.customer_id = party.party_id (+)
6681 and inc.incident_id = sr_cont.incident_id (+)
6682 and sr_cont.primary_flag (+)='Y'
6683 and sr_cont.contact_point_id = hzcp.contact_point_id (+)
6684 and inc.inventory_item_id = instance.inventory_item_id (+)
6685 and inc.customer_product_id = instance.instance_id(+)
6686 and inc.incident_id = incident_id_in
6687 and rownum = 1);
6688
6689 l_incident_id number := null;
6690 l_api_name VARCHAR2(100) := 'CREATE_SERVICEREQUEST_PUB.GET_SR_INFO';
6691 l_count NUMBER := 0;
6692 --l_tasks tasks_table;
6693 --l_notes notes_table;
6694 --l_sr_rec sr_records_cur%ROWTYPE;
6695
6696
6697 BEGIN
6698
6699 --initialize the msg count to 0
6700 x_msg_count := 0;
6701 x_msg_data := null;
6702
6703 IF (p_incident_id IS NULL) AND (p_incident_number IS NOT NULL) THEN
6704 select incident_id into l_incident_id
6705 from cs_incidents_all_b
6706 where incident_number = p_incident_number
6707 and rownum = 1;
6708 ELSE
6709 l_incident_id := p_incident_id;
6710 END IF;
6711
6712
6713 --FOR x_getsr_out_rec in sr_records_cur(l_incident_id)
6714 --FOR l_sr_rec in sr_records_cur(l_incident_id)
6715 --LOOP
6716 --OPEN sr_records_cur(l_incident_id)
6717 --LOOP
6718 -- fetch
6719 --dbms_output.put_line ("nothing here yet");
6720 --l_sr_rec := x_getsr_out_rec;
6721 FOR l_sr_rec in sr_records_cur(l_incident_id)
6722 LOOP
6723 -- x_getsr_out_rec := l_sr_rec;
6724
6725 x_getsr_out_rec.incident_id := l_sr_rec.incident_id;
6726 x_getsr_out_rec.incident_number := l_sr_rec.incidentnumber;
6727 x_getsr_out_rec.incident_type_id := l_sr_rec.incident_type_id;
6728
6729 x_getsr_out_rec.incident_type := l_sr_rec.incidenttype;
6730 x_getsr_out_rec.incident_status_id := l_sr_rec.incidentstatusid;
6731 x_getsr_out_rec.Incident_status := l_sr_rec.Incidentstatus;
6732 x_getsr_out_rec.incident_severity_id := l_sr_rec.incidentseverityid;
6733 x_getsr_out_rec.Incident_severity := l_sr_rec.Incidentseverity;
6734 x_getsr_out_rec.Sev_importance_level := l_sr_rec.Sevimportancelevel;
6735 x_getsr_out_rec.incident_urgency_id := l_sr_rec.incidenturgencyid;
6736 x_getsr_out_rec.Incidient_Urgency := l_sr_rec.IncidentUrgency;
6737 x_getsr_out_rec.SR_Group_Id := l_sr_rec.SRGroupId;
6738 x_getsr_out_rec.SR_Group := l_sr_rec.SRGroup;
6739 x_getsr_out_rec.SR_Owner_id := l_sr_rec.SROwnerid;
6740 x_getsr_out_rec.SR_owner := l_sr_rec.SRowner;
6741 x_getsr_out_rec.Problem_Code_id := l_sr_rec.ProblemCodeid;
6742 x_getsr_out_rec.Problem_Code := l_sr_rec.ProblemCode;
6743 x_getsr_out_rec.Resolution_Code_id := l_sr_rec.ResolutionCodeid;
6744 x_getsr_out_rec.Resolution_Code := l_sr_rec.ResolutionCode;
6745 x_getsr_out_rec.Publish_Flag := l_sr_rec.PublishFlag;
6746 x_getsr_out_rec.SR_Creation_Channel := l_sr_rec.SRCreationChannel;
6747 x_getsr_out_rec.Summary := l_sr_rec.Summary;
6748 x_getsr_out_rec.Resolution_Summary := l_sr_rec.ResolutionSummary;
6749 x_getsr_out_rec.Created_By := l_sr_rec.CreatedBy;
6750 x_getsr_out_rec.Contact_Party_id := l_sr_rec.ContactPartyid;
6751 x_getsr_out_rec.Contact_Type := l_sr_rec.ContactType;
6752 x_getsr_out_rec.Contact_Name := l_sr_rec.ContactName;
6753 x_getsr_out_rec.Time_Zone_Id := l_sr_rec.TimeZoneId;
6754 x_getsr_out_rec.Time_Zone_Name := l_sr_rec.TimeZoneName;
6755 x_getsr_out_rec.Customer_ID := l_sr_rec.CustomerID;
6756 x_getsr_out_rec.Customer_Number := l_sr_rec.CustomerNumber;
6757 x_getsr_out_rec.Customer_Name := l_sr_rec.CustomerName;
6758 x_getsr_out_rec.Account_Id := l_sr_rec.AccountId;
6759 x_getsr_out_rec.Account_Number := l_sr_rec.AccountNumber;
6760 x_getsr_out_rec.Inventory_ITEM_Id := l_sr_rec.InventoryItemId;
6761 x_getsr_out_rec.Product := l_sr_rec.Product ;
6762 x_getsr_out_rec.Product_Description := l_sr_rec.ProductDescription;
6763 x_getsr_out_rec.creation_date := l_sr_rec.creationdate;
6764 x_getsr_out_rec.last_update_date := l_sr_rec.lastupdatedate;
6765 x_getsr_out_rec.Incident_date := l_sr_rec.Incidentdate;
6766 x_getsr_out_rec.Close_date := l_sr_rec.Closedate;
6767 x_getsr_out_rec.Date_Resolved := l_sr_rec.DateResolved;
6768 x_getsr_out_rec.Expected_Reaction_Date := l_sr_rec.ExpectedReactionDate;
6769 x_getsr_out_rec.Expected_Resolution_Date := l_sr_rec.ExpectedResolutionDate;
6770 x_getsr_out_rec.Date_First_Reacted := l_sr_rec.DateFirstReacted;
6771 x_getsr_out_rec.Actual_Resolution_Date := l_sr_rec.ActualResolutionDate;
6772 x_getsr_out_rec.Status_Sort_order := l_sr_rec.StatusSortorder;
6773 x_getsr_out_rec.Status_Flag_Code := l_sr_rec.StatusFlagCode;
6774 x_getsr_out_rec.Inc_Responded_By_Date := l_sr_rec.IncRespondedByDate;
6775 x_getsr_out_rec.Created_By_Id := l_sr_rec.CreatedById;
6776 x_getsr_out_rec.Customer_Product_Id := l_sr_rec.CustomerProductId;
6777 x_getsr_out_rec.Organization_Id := l_sr_rec.OrganizationId;
6778 x_getsr_out_rec.Inventory_Org_id := l_sr_rec.InventoryOrgid;
6779 x_getsr_out_rec.customer_phone := l_sr_rec.customerphone;
6780 x_getsr_out_rec.Customer_Email := l_sr_rec.CustomerEmail;
6781 x_getsr_out_rec.Contract_Number := l_sr_rec.ContractNumber;
6782 x_getsr_out_rec.Contract_Service_Description := l_sr_rec.ContractServiceDescription;
6783 x_getsr_out_rec.Contract_Coverage_Description := l_sr_rec.ContractCoverageDescription;
6784 x_getsr_out_rec.Customer_Type := l_sr_rec.CustomerType;
6785 x_getsr_out_rec.Contact_Phone_Number := l_sr_rec.ContactPhoneNumber;
6786 x_getsr_out_rec.Contact_Email := l_sr_rec.ContactEmail;
6787 x_getsr_out_rec.Item_Category := l_sr_rec.ItemCategory;
6788 x_getsr_out_rec.Instance_Number := l_sr_rec.InstanceNumber;
6789 x_getsr_out_rec.Serial_Number := l_sr_rec.SerialNumber;
6790 x_getsr_out_rec.Tag_Number := l_sr_rec.TagNumber;
6791 x_getsr_out_rec.System_Number := l_sr_rec.SystemNumber;
6792 x_getsr_out_rec.Component := l_sr_rec.Component;
6793 x_getsr_out_rec.Sub_Component := l_sr_rec.SubComponent;
6794 x_getsr_out_rec.item_revision := l_sr_rec.itemrevision;
6795 x_getsr_out_rec.Component_Revision := l_sr_rec.ComponentRevision;
6796 x_getsr_out_rec.Sub_Component_Revision := l_sr_rec.SubComponentRevision;
6797 x_getsr_out_rec.incident_Address := l_sr_rec.incidentAddress;
6798 x_getsr_out_rec.Resource_Type := l_sr_rec.ResourceType;
6799 x_getsr_out_rec.Attribute1 := l_sr_rec.Attribute1;
6800 x_getsr_out_rec.Attribute2 := l_sr_rec.Attribute2;
6801 x_getsr_out_rec.Attribute3 := l_sr_rec.Attribute3;
6802 x_getsr_out_rec.Attribute4 := l_sr_rec.Attribute4;
6803 x_getsr_out_rec.Attribute5 := l_sr_rec.Attribute5;
6804 x_getsr_out_rec.Attribute6 := l_sr_rec.Attribute6;
6805 x_getsr_out_rec.Attribute7 := l_sr_rec.Attribute7;
6806 x_getsr_out_rec.Attribute8 := l_sr_rec.Attribute8;
6807 x_getsr_out_rec.Attribute9 := l_sr_rec.Attribute9;
6808 x_getsr_out_rec.Attribute10 := l_sr_rec.Attribute10;
6809 x_getsr_out_rec.Attribute11 := l_sr_rec.Attribute11;
6810 x_getsr_out_rec.Attribute12 := l_sr_rec.Attribute12;
6811 x_getsr_out_rec.Attribute13 := l_sr_rec.Attribute13;
6812 x_getsr_out_rec.Attribute14 := l_sr_rec.Attribute14;
6813 x_getsr_out_rec.Attribute15 := l_sr_rec.Attribute15;
6814 x_getsr_out_rec.Incident_Context := l_sr_rec.IncidentContext;
6815 x_getsr_out_rec.ExtAttribute1 := l_sr_rec.ExtAttribute1;
6816 x_getsr_out_rec.ExtAttribute2 := l_sr_rec.ExtAttribute2;
6817 x_getsr_out_rec.ExtAttribute3 := l_sr_rec.ExtAttribute3;
6818 x_getsr_out_rec.ExtAttribute4 := l_sr_rec.ExtAttribute4;
6819 x_getsr_out_rec.ExtAttribute5 := l_sr_rec.ExtAttribute5;
6820 x_getsr_out_rec.ExtAttribute6 := l_sr_rec.ExtAttribute6;
6821 x_getsr_out_rec.ExtAttribute7 := l_sr_rec.ExtAttribute7;
6822 x_getsr_out_rec.ExtAttribute8 := l_sr_rec.ExtAttribute8;
6823 x_getsr_out_rec.ExtAttribute9 := l_sr_rec.ExtAttribute9;
6824 x_getsr_out_rec.ExtAttribute10 := l_sr_rec.ExtAttribute10;
6825 x_getsr_out_rec.ExtAttribute11 := l_sr_rec.ExtAttribute11;
6826 x_getsr_out_rec.ExtAttribute12 := l_sr_rec.ExtAttribute12;
6827 x_getsr_out_rec.ExtAttribute13 := l_sr_rec.ExtAttribute13;
6828 x_getsr_out_rec.ExtAttribute14 := l_sr_rec.ExtAttribute14;
6829 x_getsr_out_rec.ExtAttribute15 := l_sr_rec.ExtAttribute15;
6830 x_getsr_out_rec.ext_context := l_sr_rec.extcontext;
6831
6832
6833 l_count := l_count + 1;
6834
6835 END LOOP;
6836
6837
6838 --IF x_getsr_out_rec.INCIDENT_ID IS NOT NULL THEN
6839 IF l_count = 1 THEN
6840 select NOTE_TL.NOTES NOTES,
6841 NOTE.NOTE_STATUS,
6842 NOTE_TL.NOTES_DETAIL NOTES_DETAIL,
6843 NOTE.CREATED_BY
6844 BULK COLLECT INTO X_NOTES
6845 --BULK COLLECT INTO L_NOTES
6846 from JTF_NOTES_B NOTE,
6847 CS_INCIDENTS_ALL_TL INC_TL,
6848 JTF_NOTES_TL NOTE_TL
6849 WHERE NOTE_TL.JTF_NOTE_ID = NOTE.JTF_NOTE_ID
6850 AND NOTE_TL.LANGUAGE = INC_TL.LANGUAGE
6851 AND NOTE.SOURCE_OBJECT_ID=INC_TL.INCIDENT_ID
6852 AND NOTE.SOURCE_OBJECT_CODE= 'SR'
6853 AND INC_TL.INCIDENT_ID = l_incident_id;
6854 END IF;
6855
6856 /*
6857 if l_notes.count > 0 THEN
6858 dbms_output.put_line ('notes count' || l_notes.count);
6859 x_notes := l_notes;
6860 end if;
6861 */
6862
6863 IF l_count = 1 THEN
6864 SELECT task_type, task_status, task_priority, restrict_closure_flag,
6865 owner_type, owner, task_name, description, task_number,
6866 parent_task_number, escalation_level, task_confirmation_status,
6867 planned_start_date, planned_end_date, scheduled_start_date,
6868 scheduled_end_date, actual_start_date, actual_end_date, planned_effort,
6869 planned_effort_uom, actual_effort, actual_effort_uom, DURATION,
6870 duration_uom, private_flag, publish_flag, row_id, created_by,
6871 creation_date, last_updated_by, last_update_date, last_update_login,
6872 source_object_id, source_object_type_code, source_object_name,
6873 task_type_id, task_status_id, task_priority_id, owner_id,
6874 owner_territory_id, task_id, timezone_id, parent_task_id,
6875 object_version_number, customer_id, cust_account_id, owner_type_code,
6876 recurrence_rule_id, multi_booked_flag, milestone_flag, holiday_flag,
6877 billable_flag, currency_code, costs, attribute1, attribute2,
6878 attribute3, attribute4, attribute5, attribute6, attribute7, attribute8,
6879 attribute9, attribute10, attribute11, attribute12, attribute13,
6880 attribute14, attribute15, attribute_category
6881 BULK COLLECT INTO X_TASKS
6882 --BULK COLLECT INTO L_TASKS
6883 FROM cs_sr_tasks_v
6884 WHERE (source_object_id = l_incident_id);
6885
6886 /*
6887 if l_tasks.count > 0 THEN
6888 x_tasks := l_tasks;
6889 end if;
6890 */
6891
6892 END IF;
6893
6894 --if everything goes well then return status is S
6895 x_return_status := 'S';
6896
6897 EXCEPTION
6898 WHEN FND_API.G_EXC_ERROR THEN
6899 x_return_status := FND_API.G_RET_STS_ERROR;
6900 FND_MSG_PUB.Count_And_Get
6901 ( p_count => x_msg_count,
6902 p_data => x_msg_data
6903 );
6904 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6905 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6906 FND_MSG_PUB.Count_And_Get
6907 ( p_count => x_msg_count,
6908 p_data => x_msg_data
6909 );
6910 WHEN OTHERS THEN
6911 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6912 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
6913 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
6914 END IF;
6915 FND_MSG_PUB.Count_And_Get
6916 ( p_count => x_msg_count,
6917 p_data => x_msg_data
6918 );
6919
6920 END GET_SR_INFO;
6921 --End changes for get sr related info
6922 END CS_ServiceRequest_PUB;