DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSP_RELATED_ITEMS_PKG

Source


1 PACKAGE BODY CSP_RELATED_ITEMS_PKG as
2 /* $Header: cspisdrb.pls 120.4 2012/01/20 17:32:02 vmandava ship $ */
3 
4 
5 PROCEDURE UPDATE_ITEM (p_item_id       IN NUMBER,
6 		       p_org_id        IN NUMBER,
7 		       p_disposition   IN VARCHAR2,
8 		       x_return_status OUT NOCOPY VARCHAR2,
9 		       x_error_msg OUT NOCOPY VARCHAR2) Is
10 
11 x_error_tbl     INV_ITEM_GRP.Error_tbl_type;
12 Begin
13      CSP_RELATED_ITEMS_PKG.UPDATE_ITEM (p_item_id => p_item_id,
14  		  p_org_id =>  p_org_id,
15 		  p_disposition => p_disposition,
16 		  x_return_status => x_return_status,
17 		  x_error_tbl => x_error_tbl);
18        If x_return_status <> 'S' Then
19           if x_error_tbl.count > 0 Then
20               x_error_msg := x_error_msg || x_error_tbl(1).message_text;
21           End If;
22        End If;
23 End;
24 
25 
26 PROCEDURE UPDATE_ITEM (p_item_id       IN NUMBER,
27 		       p_org_id        IN NUMBER,
28 		       p_disposition   IN VARCHAR2,
29 		       x_return_status OUT NOCOPY VARCHAR2,
30 		       x_error_tbl     OUT NOCOPY INV_ITEM_GRP.Error_tbl_type) Is
31 
32 	l_item_rec   INV_ITEM_GRP.Item_rec_type;
33 	x_item_rec   INV_ITEM_GRP.Item_rec_type;
34 
35 	cursor c_organizations is
36 		select decode(mia.control_level,1,mp.master_organization_id,mp.organization_id)
37 			organization_id
38 		from   mtl_parameters mp, mtl_item_attributes mia, mtl_system_items msi
39 		where  mp.master_organization_id = p_org_id
40 		and    mia.attribute_name = 'MTL_SYSTEM_ITEMS.MTL_TRANSACTIONS_ENABLED_FLAG'
41 		and    mp.organization_id = msi.organization_id
42 		and    msi.inventory_item_id = p_item_id
43 		minus
44 		select decode(mia.control_level,2,p_org_id)
45 		from   mtl_item_attributes mia
46 		where  mia.attribute_name = 'MTL_SYSTEM_ITEMS.MTL_TRANSACTIONS_ENABLED_FLAG';
47 BEGIN
48 	l_item_rec.inventory_item_id := p_item_id;
49 	l_item_rec.mtl_transactions_enabled_flag := p_disposition;
50 
51 	for cr in c_organizations loop
52 		l_item_rec.organization_id := cr.organization_id;
53 		Inv_item_grp.Update_Item
54 		(
55 			p_commit              => fnd_api.g_FALSE
56 			,  p_lock_rows           => fnd_api.g_TRUE
57 			,  p_validation_level    => fnd_api.g_VALID_LEVEL_FULL
58 			,  p_Item_rec            => l_item_rec
59 			,  x_Item_rec            => x_item_rec
60 			,  x_return_status       => x_return_status
61 			,  x_Error_tbl           => x_error_tbl
62 			,  p_Template_Id         => NULL
63 			,  p_Template_Name       => NULL);
64 	end loop;
65 END;
66 
67 PROCEDURE Insert_Row (X_Rowid		IN OUT  NOCOPY  VARCHAR2,
68                        X_Inventory_Item_Id              NUMBER,
69                        X_Organization_Id                NUMBER,
70                        X_Related_Item_Id                NUMBER,
71                        X_Relationship_Type_Id           NUMBER,
72                        X_Reciprocal_Flag                VARCHAR2,
73                        X_Start_Date                     DATE,
74                        X_End_Date                       DATE,
75                        X_Attr_Context                   VARCHAR2,
76                        X_Attr_Char1                    VARCHAR2,
77                        X_Attr_Char2                    VARCHAR2,
78                        X_Attr_Char3                    VARCHAR2,
79                        X_Attr_Char4                    VARCHAR2,
80                        X_Attr_Char5                    VARCHAR2,
81                        X_Attr_Char6                    VARCHAR2,
82                        X_Attr_Char7                    VARCHAR2,
83                        X_Attr_Char8                    VARCHAR2,
84                        X_Attr_Char9                    VARCHAR2,
85                        X_Attr_Char10                   VARCHAR2,
86                        X_Attr_Num1                     NUMBER,
87                        X_Attr_Num2                     NUMBER,
88                        X_Attr_Num3                     NUMBER,
89                        X_Attr_Num4                     NUMBER,
90                        X_Attr_Num5                     NUMBER,
91                        X_Attr_Num6                     NUMBER,
92                        X_Attr_Num7                     NUMBER,
93                        X_Attr_Num8                     NUMBER,
94                        X_Attr_Num9                     NUMBER,
95                        X_Attr_Num10                    NUMBER,
96                        X_Attr_Date1                    DATE,
97                        X_Attr_Date2                    DATE,
98                        X_Attr_Date3                    DATE,
99                        X_Attr_Date4                    DATE,
100                        X_Attr_Date5                    DATE,
101                        X_Attr_Date6                    DATE,
102                        X_Attr_Date7                    DATE,
103                        X_Attr_Date8                    DATE,
104                        X_Attr_Date9                    DATE,
105                        X_Attr_Date10                   DATE,
106                        X_Last_Update_Date              DATE,
107                        X_Last_Updated_By               NUMBER,
108                        X_Creation_Date                 DATE,
109                        X_Created_By                    NUMBER,
110                        X_Last_Update_Login             NUMBER,
111                        X_Object_Version_Number         NUMBER
112   ) IS
113 
114    CURSOR C IS SELECT rowid FROM MTL_RELATED_ITEMS
115                  WHERE inventory_item_id = X_Inventory_Item_Id
116                  AND   organization_id = X_Organization_Id
117                  AND   related_item_id = X_Related_Item_Id
118                  AND   Relationship_Type_Id = X_Relationship_Type_Id
119                  AND   Reciprocal_Flag = X_Reciprocal_Flag ;
120 
121    BEGIN
122 
123        INSERT INTO MTL_RELATED_ITEMS(
124               inventory_item_id,
125               organization_id,
126               related_item_id,
127               relationship_type_id,
128               reciprocal_flag,
129               Start_Date,
130               End_Date,
131               Attr_Context,
132               Attr_Char1,
133               Attr_Char2,
134               Attr_Char3,
135               Attr_Char4,
136               Attr_Char5,
137               Attr_Char6,
138               Attr_Char7,
139               Attr_Char8,
140               Attr_Char9,
141               Attr_Char10,
142               Attr_Num1,
143               Attr_Num2,
144               Attr_Num3,
145               Attr_Num4,
146               Attr_Num5,
147               Attr_Num6,
148               Attr_Num7,
149               Attr_Num8,
150               Attr_Num9,
151               Attr_Num10,
152               Attr_Date1,
153               Attr_Date2,
154               Attr_Date3,
155               Attr_Date4,
156               Attr_Date5,
157               Attr_Date6,
158               Attr_Date7,
159               Attr_Date8,
160               Attr_Date9,
161               Attr_Date10,
162               last_update_date,
163               last_updated_by,
164               creation_date,
165               created_by,
166               last_update_login,
167               object_version_number
168              ) VALUES (
169               X_Inventory_Item_Id,
170               X_Organization_Id,
171               X_Related_Item_Id,
172               X_Relationship_Type_Id,
173               X_Reciprocal_Flag,
174               X_Start_Date,
175               X_End_Date,
176               X_Attr_Context,
177               X_Attr_Char1,
178               X_Attr_Char2,
179               X_Attr_Char3,
180               X_Attr_Char4,
181               X_Attr_Char5,
182               X_Attr_Char6,
183               X_Attr_Char7,
184               X_Attr_Char8,
185               X_Attr_Char9,
186               X_Attr_Char10,
187               X_Attr_Num1,
188               X_Attr_Num2,
189               X_Attr_Num3,
190               X_Attr_Num4,
191               X_Attr_Num5,
192               X_Attr_Num6,
193               X_Attr_Num7,
194               X_Attr_Num8,
195               X_Attr_Num9,
196               X_Attr_Num10,
197               X_Attr_Date1,
198               X_Attr_Date2,
199               X_Attr_Date3,
200               X_Attr_Date4,
201               X_Attr_Date5,
202               X_Attr_Date6,
203               X_Attr_Date7,
204               X_Attr_Date8,
205               X_Attr_Date9,
206               X_Attr_Date10,
207               X_Last_Update_Date,
208               X_Last_Updated_By,
209               X_Creation_Date,
210               X_Created_By,
211               X_Last_Update_Login,
212               X_Object_Version_Number
213              );
214 
215     OPEN C;
216     FETCH C INTO X_Rowid;
217     if (C%NOTFOUND) then
218       CLOSE C;
219       Raise NO_DATA_FOUND;
220     end if;
221     CLOSE C;
222 
223 END Insert_Row;
224 
225 
226 PROCEDURE Lock_Row (X_Rowid                            VARCHAR2,
227                      X_Inventory_Item_Id                NUMBER,
228                      X_Organization_Id                  NUMBER,
229                      X_Related_Item_Id                  NUMBER,
230                      X_Relationship_Type_Id             NUMBER,
231                      X_Reciprocal_Flag                  VARCHAR2,
232                        X_Start_Date                      DATE,
233                        X_End_Date                        DATE,
234                        X_Attr_Context                  VARCHAR2,
235                        X_Attr_Char1                    VARCHAR2,
236                        X_Attr_Char2                    VARCHAR2,
237                        X_Attr_Char3                    VARCHAR2,
238                        X_Attr_Char4                    VARCHAR2,
239                        X_Attr_Char5                    VARCHAR2,
240                        X_Attr_Char6                    VARCHAR2,
241                        X_Attr_Char7                    VARCHAR2,
242                        X_Attr_Char8                    VARCHAR2,
243                        X_Attr_Char9                    VARCHAR2,
244                        X_Attr_Char10                   VARCHAR2,
245                        X_Attr_Num1                     NUMBER,
246                        X_Attr_Num2                     NUMBER,
247                        X_Attr_Num3                     NUMBER,
248                        X_Attr_Num4                     NUMBER,
249                        X_Attr_Num5                     NUMBER,
250                        X_Attr_Num6                     NUMBER,
251                        X_Attr_Num7                     NUMBER,
252                        X_Attr_Num8                     NUMBER,
253                        X_Attr_Num9                     NUMBER,
254                        X_Attr_Num10                    NUMBER,
255                        X_Attr_Date1                    DATE,
256                        X_Attr_Date2                    DATE,
257                        X_Attr_Date3                    DATE,
258                        X_Attr_Date4                    DATE,
259                        X_Attr_Date5                    DATE,
260                        X_Attr_Date6                    DATE,
261                        X_Attr_Date7                    DATE,
262                        X_Attr_Date8                    DATE,
263                        X_Attr_Date9                    DATE,
264                        X_Attr_Date10                   DATE
265   ) IS
266 
267     CURSOR C IS
268         SELECT *
269         FROM   MTL_RELATED_ITEMS
270         WHERE  rowid = X_Rowid
271         FOR UPDATE of Inventory_Item_Id NOWAIT;
272 
273     Recinfo C%ROWTYPE;
274 
275   BEGIN
276 
277     OPEN C;
278     FETCH C INTO Recinfo;
279     if (C%NOTFOUND) then
280       CLOSE C;
281       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
282       APP_EXCEPTION.Raise_Exception;
283     end if;
284     CLOSE C;
285 
286     if ( (Recinfo.inventory_item_id =  X_Inventory_Item_Id)
287            AND (Recinfo.organization_id =  X_Organization_Id)
288            AND (Recinfo.related_item_id =  X_Related_Item_Id)
289            AND (Recinfo.relationship_type_id =  X_Relationship_Type_Id)
290            AND (Recinfo.reciprocal_flag =  X_Reciprocal_Flag)
291            AND (Recinfo.Start_Date =  X_Start_Date
292                OR ((Recinfo.Start_Date IS NULL)
293                     AND (X_Start_Date IS NULL)))
294           AND (Recinfo.End_Date =  X_End_Date
295                OR ((Recinfo.End_Date IS NULL)
296                     AND (X_End_Date IS NULL)))
297           AND (Recinfo.Attr_Context =  X_Attr_Context
298                OR ((Recinfo.Attr_Context IS NULL)
299                     AND (X_Attr_Context IS NULL)))
300           AND (Recinfo.Attr_Char1 =  X_Attr_Char1
301                OR ((Recinfo.Attr_Char1 IS NULL)
302                     AND (X_Attr_Char1 IS NULL)))
303          AND (Recinfo.Attr_Char2 =  X_Attr_Char2
304               OR ((Recinfo.Attr_Char2 IS NULL)
305                     AND (X_Attr_Char2 IS NULL)))
306          AND (Recinfo.Attr_Char3 =  X_Attr_Char3
307               OR ((Recinfo.Attr_Char3 IS NULL)
308                     AND (X_Attr_Char3 IS NULL)))
309          AND (Recinfo.Attr_Char4 =  X_Attr_Char4
310               OR ((Recinfo.Attr_Char4 IS NULL)
311                     AND (X_Attr_Char4 IS NULL)))
312          AND (Recinfo.Attr_Char5 =  X_Attr_Char5
313                OR ((Recinfo.Attr_Char5 IS NULL)
314                     AND (X_Attr_Char5 IS NULL)))
315          AND (Recinfo.Attr_Char6 =  X_Attr_Char6
316                OR ((Recinfo.Attr_Char6 IS NULL)
317                     AND (X_Attr_Char6 IS NULL)))
318          AND (Recinfo.Attr_Char7 =  X_Attr_Char7
319                OR ((Recinfo.Attr_Char7 IS NULL)
320                     AND (X_Attr_Char7 IS NULL)))
321          AND (Recinfo.Attr_Char8 =  X_Attr_Char8
322                OR ((Recinfo.Attr_Char8 IS NULL)
323                     AND (X_Attr_Char8 IS NULL)))
324          AND (Recinfo.Attr_Char9 =  X_Attr_Char9
325                OR ((Recinfo.Attr_Char9 IS NULL)
326                     AND (X_Attr_Char9 IS NULL)))
327          AND (Recinfo.Attr_Char10 =  X_Attr_Char10
328               OR ((Recinfo.Attr_Char10 IS NULL)
329                     AND (X_Attr_Char10 IS NULL)))
330          AND (Recinfo.Attr_Num1 =  X_Attr_Num1
331               OR ((Recinfo.Attr_Num1 IS NULL)
332                     AND (X_Attr_Num1 IS NULL)))
333          AND (Recinfo.Attr_Num2 =  X_Attr_Num2
334               OR ((Recinfo.Attr_Num2 IS NULL)
335                     AND (X_Attr_Num2 IS NULL)))
336          AND (Recinfo.Attr_Num3 =  X_Attr_Num3
337                OR ((Recinfo.Attr_Num3 IS NULL)
338                     AND (X_Attr_Num3 IS NULL)))
339           AND (Recinfo.Attr_Num4 =  X_Attr_Num4
340                OR ((Recinfo.Attr_Num4 IS NULL)
341                     AND (X_Attr_Num4 IS NULL)))
342           AND (Recinfo.Attr_Num5 =  X_Attr_Num5
343                 OR ((Recinfo.Attr_Num5 IS NULL)
344                     AND (X_Attr_Num5 IS NULL)))
345            AND (Recinfo.Attr_Num6 =  X_Attr_Num6
346                 OR ((Recinfo.Attr_Num6 IS NULL)
347                     AND (X_Attr_Num6 IS NULL)))
348            AND (Recinfo.Attr_Num7 =  X_Attr_Num7
349                 OR ((Recinfo.Attr_Num7 IS NULL)
350                     AND (X_Attr_Num7 IS NULL)))
351            AND (Recinfo.Attr_Num8 =  X_Attr_Num8
352                  OR ((Recinfo.Attr_Num8 IS NULL)
353                     AND (X_Attr_Num8 IS NULL)))
354            AND (Recinfo.Attr_Num9 =  X_Attr_Num9
355                  OR ((Recinfo.Attr_Num9 IS NULL)
356                     AND (X_Attr_Num9 IS NULL)))
357            AND (Recinfo.Attr_Num10 =  X_Attr_Num10
358                  OR ((Recinfo.Attr_Num10 IS NULL)
362            AND (Recinfo.Attr_Date2 =  X_Attr_Date2
359                     AND (X_Attr_Num10 IS NULL)))
360            AND (Recinfo.Attr_Date1 =  X_Attr_Date1
361                  OR ((Recinfo.Attr_Date1 IS NULL) AND (X_Attr_Date1 IS NULL)))
363                  OR ((Recinfo.Attr_Date2 IS NULL) AND (X_Attr_Date2 IS NULL)))
364            AND (Recinfo.Attr_Date3 =  X_Attr_Date3
365                  OR ((Recinfo.Attr_Date3 IS NULL) AND (X_Attr_Date3 IS NULL)))
366            AND (Recinfo.Attr_Date4 =  X_Attr_Date4
367                  OR ((Recinfo.Attr_Date4 IS NULL) AND (X_Attr_Date4 IS NULL)))
368            AND (Recinfo.Attr_Date5 =  X_Attr_Date5
369                  OR ((Recinfo.Attr_Date5 IS NULL) AND (X_Attr_Date5 IS NULL)))
370            AND (Recinfo.Attr_Date6 =  X_Attr_Date6
371                  OR ((Recinfo.Attr_Date6 IS NULL) AND (X_Attr_Date6 IS NULL)))
372            AND (Recinfo.Attr_Date7 =  X_Attr_Date7
373                  OR ((Recinfo.Attr_Date7 IS NULL) AND (X_Attr_Date7 IS NULL)))
374            AND (Recinfo.Attr_Date8 =  X_Attr_Date8
375                  OR ((Recinfo.Attr_Date8 IS NULL) AND (X_Attr_Date8 IS NULL)))
376            AND (Recinfo.Attr_Date9 =  X_Attr_Date9
377                  OR ((Recinfo.Attr_Date9 IS NULL) AND (X_Attr_Date9 IS NULL)))
378            AND (Recinfo.Attr_Date10 =  X_Attr_Date10
379                  OR ((Recinfo.Attr_Date10 IS NULL) AND (X_Attr_Date10 IS NULL)))
380       ) then
381       return;
382     else
383       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
384       APP_EXCEPTION.Raise_Exception;
385     end if;
386 
387 END Lock_Row;
388 
389 
390 PROCEDURE Update_Row (X_Rowid                          VARCHAR2,
391                        X_Inventory_Item_Id              NUMBER,
392                        X_Organization_Id                NUMBER,
393                        X_Related_Item_Id                NUMBER,
394                        X_Relationship_Type_Id           NUMBER,
395                        X_Reciprocal_Flag                VARCHAR2,
396                        X_Start_Date                      DATE,
397                        X_End_Date                        DATE,
398                        X_Attr_Context                  VARCHAR2,
399                        X_Attr_Char1                    VARCHAR2,
400                        X_Attr_Char2                    VARCHAR2,
401                        X_Attr_Char3                    VARCHAR2,
402                        X_Attr_Char4                    VARCHAR2,
403                        X_Attr_Char5                    VARCHAR2,
404                        X_Attr_Char6                    VARCHAR2,
405                        X_Attr_Char7                    VARCHAR2,
406                        X_Attr_Char8                    VARCHAR2,
407                        X_Attr_Char9                    VARCHAR2,
408                        X_Attr_Char10                   VARCHAR2,
409                        X_Attr_Num1                     NUMBER,
410                        X_Attr_Num2                     NUMBER,
411                        X_Attr_Num3                     NUMBER,
412                        X_Attr_Num4                     NUMBER,
413                        X_Attr_Num5                     NUMBER,
414                        X_Attr_Num6                     NUMBER,
415                        X_Attr_Num7                     NUMBER,
416                        X_Attr_Num8                     NUMBER,
417                        X_Attr_Num9                     NUMBER,
418                        X_Attr_Num10                    NUMBER,
419                        X_Attr_Date1                    DATE,
420                        X_Attr_Date2                    DATE,
421                        X_Attr_Date3                    DATE,
422                        X_Attr_Date4                    DATE,
423                        X_Attr_Date5                    DATE,
424                        X_Attr_Date6                    DATE,
425                        X_Attr_Date7                    DATE,
426                        X_Attr_Date8                    DATE,
427                        X_Attr_Date9                    DATE,
428                        X_Attr_Date10                   DATE,
429                        X_Last_Update_Date               DATE,
430                        X_Last_Updated_By                NUMBER,
431                        X_Last_Update_Login              NUMBER
432 
433   ) IS
434   BEGIN
435 
436     UPDATE MTL_RELATED_ITEMS
437     SET
438        inventory_item_id          =      X_Inventory_Item_Id,
439        organization_id            =      X_Organization_Id,
440        related_item_id            =      X_Related_Item_Id,
441        relationship_type_id       =      X_Relationship_Type_Id,
442        reciprocal_flag            =      X_Reciprocal_Flag,
443        Start_Date 		  =      X_Start_Date,
444        End_Date 		  =      X_End_Date,
445        Attr_Context		  =      X_Attr_Context,
446        Attr_Char1 		  =      X_Attr_Char1,
447        Attr_Char2 		  =      X_Attr_Char2,
448        Attr_Char3 		  =      X_Attr_Char3,
449        Attr_Char4 		  =      X_Attr_Char4,
450        Attr_Char5 		  =      X_Attr_Char5,
451        Attr_Char6 		  =      X_Attr_Char6,
452        Attr_Char7 		  =      X_Attr_Char7,
453        Attr_Char8 		  =      X_Attr_Char8,
454        Attr_Char9 		  =      X_Attr_Char9,
455        Attr_Char10 		  =      X_Attr_Char10,
456        Attr_Num1 		  =      X_Attr_Num1,
457        Attr_Num2 		  =      X_Attr_Num2,
458        Attr_Num3 		  =      X_Attr_Num3,
459        Attr_Num4 		  =      X_Attr_Num4,
460        Attr_Num5 		  =      X_Attr_Num5,
461        Attr_Num6 		  =      X_Attr_Num6,
462        Attr_Num7 		  =      X_Attr_Num7,
463        Attr_Num8 		  =      X_Attr_Num8,
464        Attr_Num9 		  =      X_Attr_Num9,
465        Attr_Num10 		  =      X_Attr_Num10,
466        Attr_Date1	 	  =      X_Attr_Date1,
467        Attr_Date2	   	  =      X_Attr_Date2,
468        Attr_Date3		  =      X_Attr_Date3,
469        Attr_Date4		  =      X_Attr_Date4,
470        Attr_Date5		  =      X_Attr_Date5,
471        Attr_Date6	  	  =      X_Attr_Date6,
472        Attr_Date7		  =      X_Attr_Date7,
473        Attr_Date8		  =      X_Attr_Date8,
474        Attr_Date9		  =      X_Attr_Date9,
475        Attr_Date10		  =      X_Attr_Date10,
476        last_update_date           =     X_Last_Update_Date,
477        last_update_login          =     X_Last_Update_Login
478     WHERE rowid = X_Rowid;
479 
480     if (SQL%NOTFOUND) then
481       Raise NO_DATA_FOUND;
482     end if;
483 
484   END Update_Row;
485 
486 PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
487     p_mst_org_id_pk1    number;
488     p_replaced_item_id_pk2  number;
489     p_replacing_item_pk3 number;
490     p_relation_type_pk4 number;
491     l_module_name varchar2(100);
492   BEGIN
493     l_module_name := 'csp.plsql.csp_related_items_pkg.delete_row';
494 
495     if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
496         FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module_name,
497             'begin... X_Rowid = ' || X_Rowid);
498     end if;
499 
500     -- bug # 10396984
501     -- delete any attachments for this
502     --p_relation_type_pk4 := 8;   -- supersession
503 
504     select organization_id, inventory_item_id, related_item_id , relationship_type_id
505     into p_mst_org_id_pk1, p_replaced_item_id_pk2, p_replacing_item_pk3,p_relation_type_pk4
506     from MTL_RELATED_ITEMS
507     WHERE rowid = X_Rowid;
508 
509     if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
510         FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module_name,
511             'p_mst_org_id_pk1 = ' || p_mst_org_id_pk1);
512         FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module_name,
513             'p_replaced_item_id_pk2 = ' || p_replaced_item_id_pk2);
514         FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module_name,
515             'p_replacing_item_pk3 = ' || p_replacing_item_pk3);
516         FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module_name,
517             'p_relation_type_pk4 = ' || p_relation_type_pk4);
518         FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module_name,
519             'deleting related item record...');
520     end if;
521 
522     DELETE FROM MTL_RELATED_ITEMS
523     WHERE organization_id = p_mst_org_id_pk1
524     and inventory_item_id = p_replaced_item_id_pk2
525     and related_item_id = p_replacing_item_pk3
526     and relationship_type_id = p_relation_type_pk4;
527 
528     if (SQL%NOTFOUND) then
529       Raise NO_DATA_FOUND;
530     end if;
531 
532     if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
533         FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module_name,
534             'record deleted...');
535     end if;
536 
537     if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
538         FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module_name,
539             'deleting attachments for ...');
540     end if;
541 
542     fnd_attached_documents2_pkg.delete_attachments(X_entity_name => 'RELATED_ITEMS',
543             X_pk1_value => to_char(p_mst_org_id_pk1),
544             X_pk2_value => to_char(p_replaced_item_id_pk2),
545             X_pk3_value => to_char(p_replacing_item_pk3),
546             X_pk4_value => to_char(p_relation_type_pk4),
547             X_delete_document_flag => 'Y'
548             );
549 
550     if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
551         FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module_name,
552             'attachements deleted...');
553     end if;
554 
555     if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
556         FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module_name,
557             'done...');
558     end if;
559 
560 END Delete_Row;
561 
562 
563 END CSP_RELATED_ITEMS_PKG;