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