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