DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_SERVICEREQUEST_PUB

Source


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