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