DBA Data[Home] [Help]

PACKAGE BODY: APPS.E_CHANGES_INT_PKG

Source


1 PACKAGE BODY E_CHANGES_INT_PKG as
2 /* $Header: bompieib.pls 115.1 99/07/16 05:48:20 porting ship $ */
3 
4 FUNCTION Get_Loc ( X_Org_Id in NUMBER) RETURN NUMBER IS
5   cursor c1 is
6         select stock_locator_control_code from mtl_parameters
7          where organization_id = X_Org_Id;
8 
9   loc_code NUMBER;
10 BEGIN
11   open c1;
12   fetch c1 into loc_code;
13   close c1;
14   IF (loc_code is NULL) THEN
15      loc_code := 1;
16   END IF;
17   return(loc_code);
18 END Get_Loc;
19 
20 FUNCTION Get_New RETURN VARCHAR2 IS
21   cursor c2 is
22         select meaning from mfg_lookups
23          where lookup_type = 'BOM_CO_ACTION'
24 	   and lookup_code = 4;
25 
26   new_code VARCHAR2(80);
27 BEGIN
28   open c2;
29   fetch c2 into new_code;
30   close c2;
31   return(new_code);
32 END Get_New;
33 
34 
35 FUNCTION Get_Update RETURN VARCHAR2 IS
36   cursor c3 is
37         select meaning from mfg_lookups
38          where lookup_type = 'BOM_CO_ACTION'
39 	   and lookup_code = 2;
40   update_code VARCHAR2(80);
41 BEGIN
42   open c3;
43   fetch c3 into update_code;
44   close c3;
45   return(update_code);
46 
47 END Get_Update;
48 
49 
50 FUNCTION Get_Category(X_default_cat IN OUT VARCHAR2)
51       RETURN NUMBER IS
52   cursor c4 is
53         select structure_id, category_set_name
54           from mtl_default_sets_view
55          where functional_area_id = 1;
56 
57   struct_num NUMBER;
58 BEGIN
59   open c4;
60   fetch c4 into struct_num, X_default_cat;
61   close c4;
62   IF (struct_num is NULL) THEN
63      struct_num := 101;
64   END IF;
65   return(struct_num);
66 
67 END Get_Category;
68 
69 Procedure Initialize(
70   P_Organization in number,
71   P_Locator out number,
72   P_New out varchar2,
73   P_Update out varchar2,
74   P_DefaultCategory out varchar2,
75   P_DefaultCatStruct out number,
76   P_Eng_Install out varchar2) is
77 
78   X_DefaultCat varchar2(80) := null;
79   X_install boolean;
80   X_industry		VARCHAR2(10);
81 
82 Begin
83   P_Locator := Get_Loc(P_Organization);
84   P_New := Get_New;
85   P_Update := Get_Update;
86   P_DefaultCatStruct := Get_Category(X_DefaultCat);
87   P_DefaultCategory := X_DefaultCat;
88   X_Install := Fnd_Installation.Get(703, 703, P_Eng_Install, X_industry);
89 End Initialize;
90 
91 PROCEDURE After_Delete (X_Org_Id			NUMBER,
92 			X_Change_Notice			VARCHAR2) IS
93 BEGIN
94   DELETE FROM bom_inventory_comps_interface bici
95    WHERE EXISTS (SELECT null FROM eng_revised_items_interface erii
96                   WHERE erii.organization_id = X_Org_Id
97                     AND erii.change_notice = X_Change_Notice
98                     AND erii.revised_item_sequence_id =
99                         bici.revised_item_sequence_id);
100 
101   DELETE FROM eng_revised_items_interface
102    WHERE organization_id = X_Org_Id
103      AND change_notice = X_Change_Notice;
104 
105 END After_Delete;
106 
107 
108   PROCEDURE Insert_Row(X_Rowid                   IN OUT VARCHAR2,
109                        X_Change_Notice                  VARCHAR2,
110                        X_Organization_Id                NUMBER,
111                        X_Last_Update_Date               DATE,
112                        X_Last_Updated_By                NUMBER,
113                        X_Creation_Date                  DATE,
114                        X_Created_By                     NUMBER,
115                        X_Last_Update_Login              NUMBER,
116                        X_Description                    VARCHAR2,
117                        X_Change_Order_Type_Id           NUMBER,
118                        X_Responsible_Organization_Id    NUMBER
119   ) IS
120     CURSOR C IS SELECT rowid FROM ENG_ENG_CHANGES_INTERFACE
121                  WHERE organization_id = X_Organization_Id
122                    AND change_notice = X_Change_Notice;
123    BEGIN
124 
125        INSERT INTO ENG_ENG_CHANGES_INTERFACE(
126               change_notice,
127               organization_id,
128               last_update_date,
129               last_updated_by,
130               creation_date,
131               created_by,
132               last_update_login,
133               description,
134               change_order_type_id,
135               responsible_organization_id
136              ) VALUES (
137               X_Change_Notice,
138               X_Organization_Id,
139               X_Last_Update_Date,
140               X_Last_Updated_By,
141               X_Creation_Date,
142               X_Created_By,
143               X_Last_Update_Login,
144               X_Description,
145               X_Change_Order_Type_Id,
146               X_Responsible_Organization_Id
147              );
148 
149     OPEN C;
150     FETCH C INTO X_Rowid;
151     if (C%NOTFOUND) then
152       CLOSE C;
153       Raise NO_DATA_FOUND;
154     end if;
155     CLOSE C;
156   END Insert_Row;
157 
158 
159   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
160                      X_Change_Notice                    VARCHAR2,
161                      X_Organization_Id                  NUMBER,
162                      X_Description                      VARCHAR2,
163                      X_Change_Order_Type_Id             NUMBER,
164                      X_Responsible_Organization_Id      NUMBER
165   ) IS
166     CURSOR C IS
167         SELECT *
168         FROM   ENG_ENG_CHANGES_INTERFACE
169         WHERE  rowid = X_Rowid
170         FOR UPDATE of Organization_Id NOWAIT;
171     Recinfo C%ROWTYPE;
172 
173 
174   BEGIN
175     OPEN C;
176     FETCH C INTO Recinfo;
177     if (C%NOTFOUND) then
178       CLOSE C;
179       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
180       APP_EXCEPTION.Raise_Exception;
181     end if;
182     CLOSE C;
183     if (
184                (   (Recinfo.change_notice =  X_Change_Notice)
185                 OR (    (Recinfo.change_notice IS NULL)
186                     AND (X_Change_Notice IS NULL)))
187            AND (   (Recinfo.organization_id =  X_Organization_Id)
188                 OR (    (Recinfo.organization_id IS NULL)
189                     AND (X_Organization_Id IS NULL)))
190            AND (   (Recinfo.description =  X_Description)
191                 OR (    (Recinfo.description IS NULL)
192                     AND (X_Description IS NULL)))
193            AND (   (Recinfo.change_order_type_id =  X_Change_Order_Type_Id)
194                 OR (    (Recinfo.change_order_type_id IS NULL)
195                     AND (X_Change_Order_Type_Id IS NULL)))
196            AND (   (Recinfo.responsible_organization_id =
197                     X_Responsible_Organization_Id)
198                 OR (    (Recinfo.responsible_organization_id IS NULL)
199                     AND (X_Responsible_Organization_Id IS NULL)))
200       ) then
201       return;
202     else
203       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
204       APP_EXCEPTION.Raise_Exception;
205     end if;
206   END Lock_Row;
207 
208 
209   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
210                        X_Change_Notice                  VARCHAR2,
211                        X_Organization_Id                NUMBER,
212                        X_Last_Update_Date               DATE,
213                        X_Last_Updated_By                NUMBER,
214                        X_Last_Update_Login              NUMBER,
215                        X_Description                    VARCHAR2,
216                        X_Change_Order_Type_Id           NUMBER,
217                        X_Responsible_Organization_Id    NUMBER
218   ) IS
219   BEGIN
220     UPDATE ENG_ENG_CHANGES_INTERFACE
221     SET
222        change_notice                   =     X_Change_Notice,
223        organization_id                 =     X_Organization_Id,
224        last_update_date                =     X_Last_Update_Date,
225        last_updated_by                 =     X_Last_Updated_By,
226        last_update_login               =     X_Last_Update_Login,
227        description                     =     X_Description,
228        change_order_type_id            =     X_Change_Order_Type_Id,
229        responsible_organization_id     =     X_Responsible_Organization_Id
230     WHERE rowid = X_Rowid;
231 
232     if (SQL%NOTFOUND) then
233       Raise NO_DATA_FOUND;
234     end if;
235   END Update_Row;
236 
237   PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
238     X_Org_Id	number;
239     X_Change_Notice varchar2(10);
240   BEGIN
241 
242   BEGIN
243     SELECT CHANGE_NOTICE, ORGANIZATION_ID
244 	INTO X_Change_Notice, X_Org_Id
245 	FROM ENG_ENG_CHANGES_INTERFACE
246 	WHERE ROWID = X_Rowid;
247   EXCEPTION
248     WHEN NO_DATA_FOUND THEN
249 	NULL;
250   END;
251 
252     DELETE FROM ENG_ENG_CHANGES_INTERFACE
253     WHERE rowid = X_Rowid;
254 
255     if (SQL%NOTFOUND) then
256       Raise NO_DATA_FOUND;
257     end if;
258 
259 -- delete from child tables now
260     E_Changes_Int_Pkg.After_Delete(X_Org_Id => X_Org_Id,
261 		 X_Change_Notice => X_Change_Notice);
262 
263   END Delete_Row;
264 
265 
266 END E_CHANGES_INT_PKG;