[Home] [Help]
PACKAGE BODY: APPS.BOM_OPERATION_NETWORKS_PKG
Source
1 PACKAGE BODY BOM_OPERATION_NETWORKS_PKG as
2 /* $Header: BOMOPNWB.pls 115.1 99/07/16 05:14:36 porting ship $ */
3
4 PROCEDURE INSERT_ROW(X_ROW_ID IN OUT VARCHAR2,
5 x_from_op_seq_id NUMBER,
6 x_to_op_seq_id NUMBER,
7 x_transition_type NUMBER,
8 x_planning_pct NUMBER,
9 x_last_updated_by NUMBER,
10 x_creation_date DATE,
11 x_last_update_date DATE,
12 x_created_by NUMBER,
13 x_last_update_login NUMBER,
14 x_attribute_category VARCHAR2,
15 x_attribute1 VARCHAR2,
16 x_attribute2 VARCHAR2,
17 x_attribute3 VARCHAR2,
18 x_attribute4 VARCHAR2,
19 x_attribute5 VARCHAR2,
20 x_attribute6 VARCHAR2,
21 x_attribute7 VARCHAR2,
22 x_attribute8 VARCHAR2,
23 x_attribute9 VARCHAR2,
24 x_attribute10 VARCHAR2,
25 x_attribute11 VARCHAR2,
26 x_attribute12 VARCHAR2,
27 x_attribute13 VARCHAR2,
28 x_attribute14 VARCHAR2,
29 x_attribute15 VARCHAR2
30 ) IS
31 CURSOR C IS SELECT rowid FROM BOM_OPERATION_NETWORKS
32 WHERE FROM_OP_SEQ_ID = X_FROM_OP_SEQ_ID
33 AND TO_OP_SEQ_ID = X_TO_OP_SEQ_ID;
34
35 BEGIN
36
37 INSERT INTO BOM_OPERATION_NETWORKS(
38 from_op_seq_id,
39 to_op_seq_id,
40 transition_type,
41 planning_pct,
42 last_updated_by,
43 creation_date,
44 last_update_date,
45 created_by,
46 last_update_login,
47 attribute_category,
48 attribute1,
49 attribute2,
50 attribute3,
51 attribute4,
52 attribute5,
53 attribute6,
54 attribute7,
55 attribute8,
56 attribute9,
57 attribute10,
58 attribute11,
59 attribute12,
60 attribute13,
61 attribute14,
62 attribute15
63 ) VALUES (
64 x_from_op_seq_id,
65 x_to_op_seq_id ,
66 x_transition_type,
67 x_planning_pct ,
68 x_last_updated_by,
69 x_creation_date,
70 x_last_update_date,
71 x_created_by,
72 x_last_update_login,
73 x_attribute_category,
74 x_attribute1,
75 x_attribute2,
76 x_attribute3,
77 x_attribute4,
78 x_attribute5,
79 x_attribute6,
80 x_attribute7,
81 x_attribute8,
82 x_attribute9,
83 x_attribute10,
84 x_attribute11,
85 x_attribute12,
86 x_attribute13,
87 x_attribute14,
88 x_attribute15
89 );
90 OPEN C;
91 FETCH C INTO x_row_id;
92 IF (C%NOTFOUND) THEN
93 CLOSE C;
94 Raise NO_DATA_FOUND;
95 END IF;
96 CLOSE C;
97
98 END INSERT_ROW;
99
100 PROCEDURE Lock_Row(X_ROW_ID VARCHAR2,
101 x_from_op_seq_id NUMBER,
102 x_to_op_seq_id NUMBER,
103 x_transition_type NUMBER,
104 x_planning_pct NUMBER,
105 x_effectivity_date DATE,
106 x_disable_date DATE,
107 x_last_updated_by NUMBER,
108 x_creation_date DATE,
109 x_last_update_date DATE,
110 x_created_by NUMBER,
111 x_last_update_login NUMBER,
112 x_attribute_category VARCHAR2,
113 x_attribute1 VARCHAR2,
114 x_attribute2 VARCHAR2,
115 x_attribute3 VARCHAR2,
116 x_attribute4 VARCHAR2,
117 x_attribute5 VARCHAR2,
118 x_attribute6 VARCHAR2,
119 x_attribute7 VARCHAR2,
120 x_attribute8 VARCHAR2,
121 x_attribute9 VARCHAR2,
122 x_attribute10 VARCHAR2,
123 x_attribute11 VARCHAR2,
124 x_attribute12 VARCHAR2,
125 x_attribute13 VARCHAR2,
126 x_attribute14 VARCHAR2,
127 x_attribute15 VARCHAR2
128 ) IS
129 CURSOR C IS SELECT
130 from_op_seq_id,
131 to_op_seq_id,
132 transition_type,
133 planning_pct,
134 effectivity_date,
135 disable_date,
136 last_updated_by,
137 creation_date,
138 last_update_date,
139 created_by,
140 last_update_login,
141 attribute_category,
142 attribute1,
143 attribute2,
144 attribute3,
145 attribute4,
146 attribute5,
147 attribute6,
148 attribute7,
149 attribute8,
150 attribute9,
151 attribute10,
152 attribute11,
153 attribute12,
154 attribute13,
155 attribute14,
156 attribute15
157 FROM BOM_OPERATION_NETWORKS
158 WHERE rowid = x_row_id
159 FOR UPDATE of from_op_seq_id NOWAIT;
160 Recinfo C%ROWTYPE;
161 BEGIN
162 OPEN C;
163 FETCH C INTO Recinfo;
164 IF (C%NOTFOUND) THEN
165 CLOSE C;
166 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
167 APP_EXCEPTION.Raise_Exception;
168 END IF;
169 CLOSE C;
170 IF ((Recinfo.from_op_seq_id = x_from_op_seq_id)
171 AND (Recinfo.to_op_seq_id = x_to_op_seq_id)
172 AND ((Recinfo.attribute_category = x_attribute_category)
173 OR ((Recinfo.attribute_category IS NULL)
174 AND (x_attribute_category IS NULL)))
175 AND ((Recinfo.attribute1 = x_attribute1)
176 OR ((Recinfo.attribute1 IS NULL)
177 AND (x_attribute1 IS NULL)))
178 AND ((Recinfo.attribute2 = x_attribute2)
179 OR ((Recinfo.attribute2 IS NULL)
180 AND (x_attribute2 IS NULL)))
181 AND ((Recinfo.attribute3 = x_attribute3)
182 OR ((Recinfo.attribute3 IS NULL)
183 AND (x_attribute3 IS NULL)))
184 AND ((Recinfo.attribute4 = x_attribute4)
185 OR ((Recinfo.attribute4 IS NULL)
186 AND (x_attribute4 IS NULL)))
187 AND ((Recinfo.attribute5 = x_attribute5)
188 OR ((Recinfo.attribute5 IS NULL)
189 AND (x_attribute5 IS NULL)))
190 AND ((Recinfo.attribute6 = x_attribute6)
191 OR ((Recinfo.attribute6 IS NULL)
192 AND (x_attribute6 IS NULL)))
193 AND ((Recinfo.attribute7 = x_attribute7)
194 OR ((Recinfo.attribute7 IS NULL)
195 AND (x_attribute7 IS NULL)))
196 AND ((Recinfo.attribute8 = x_attribute8)
197 OR ((Recinfo.attribute8 IS NULL)
198 AND (x_attribute8 IS NULL)))
199 AND ((Recinfo.attribute9 = x_attribute9)
200 OR ((Recinfo.attribute9 IS NULL)
201 AND (x_attribute9 IS NULL)))
202 AND ((Recinfo.attribute10 = x_attribute10)
203 OR ((Recinfo.attribute10 IS NULL)
204 AND (x_attribute10 IS NULL)))
205 AND ((Recinfo.attribute11 = x_attribute11)
206 OR ((Recinfo.attribute11 IS NULL)
207 AND (x_attribute11 IS NULL)))
208 AND ((Recinfo.attribute12 = x_attribute12)
209 OR ((Recinfo.attribute12 IS NULL)
210 AND (x_attribute12 IS NULL)))
211 AND ((Recinfo.attribute13 = x_attribute13)
212 OR ((Recinfo.attribute13 IS NULL)
213 AND (x_attribute13 IS NULL)))
214 AND ((Recinfo.attribute14 = x_attribute14)
215 OR ((Recinfo.attribute14 IS NULL)
216 AND (x_attribute14 IS NULL)))
217 AND ((Recinfo.attribute15 = x_attribute15)
218 OR ((Recinfo.attribute15 IS NULL)
219 AND (x_Attribute15 IS NULL)))
220 ) THEN
221 return;
222 ELSE
223 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
224 APP_EXCEPTION.Raise_Exception;
225 END IF;
226
227 END Lock_Row;
228
229 PROCEDURE Update_Row(X_ROW_ID VARCHAR2,
230 x_from_op_seq_id NUMBER,
231 x_to_op_seq_id NUMBER,
232 x_transition_type NUMBER,
233 x_planning_pct NUMBER,
234 x_effectivity_date DATE,
235 x_disable_date DATE,
236 x_last_updated_by NUMBER,
237 x_creation_date DATE,
238 x_last_update_date DATE,
239 x_created_by NUMBER,
240 x_last_update_login NUMBER,
241 x_attribute_category VARCHAR2,
242 x_attribute1 VARCHAR2,
243 x_attribute2 VARCHAR2,
244 x_attribute3 VARCHAR2,
245 x_attribute4 VARCHAR2,
246 x_attribute5 VARCHAR2,
247 x_attribute6 VARCHAR2,
248 x_attribute7 VARCHAR2,
249 x_attribute8 VARCHAR2,
250 x_attribute9 VARCHAR2,
251 x_attribute10 VARCHAR2,
252 x_attribute11 VARCHAR2,
253 x_attribute12 VARCHAR2,
254 x_attribute13 VARCHAR2,
255 x_attribute14 VARCHAR2,
256 x_attribute15 VARCHAR2
257 ) IS
258 BEGIN
259 UPDATE BOM_OPERATION_NETWORKS SET
260 from_op_seq_id = x_from_op_seq_id,
261 to_op_seq_id = x_to_op_seq_id,
262 transition_type = x_transition_type,
263 planning_pct = x_planning_pct,
264 effectivity_date = x_effectivity_date,
265 created_by = x_created_by,
266 creation_date = x_creation_date,
267 disable_date = x_disable_date,
268 last_update_date = SYSDATE,
269 last_updated_by = x_last_updated_by,
270 last_update_login = x_last_update_login,
271 attribute_category = x_attribute_category,
272 attribute1 = x_attribute1,
273 attribute2 = x_attribute2,
274 attribute3 = x_attribute3,
275 attribute4 = x_attribute4,
276 attribute5 = x_attribute5,
277 attribute6 = x_attribute6,
278 attribute7 = x_attribute7,
279 attribute8 = x_attribute8,
280 attribute9 = x_attribute9,
281 attribute10 = x_attribute10,
282 attribute11 = x_attribute11,
283 attribute12 = x_attribute12,
284 attribute13 = x_attribute13,
285 attribute14 = x_attribute14,
286 attribute15 = x_attribute15
287 WHERE rowid = x_row_id;
288 IF (SQL%NOTFOUND) THEN
289 Raise NO_DATA_FOUND;
290 END IF;
291
292 END;
293
294 PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
295 BEGIN
296 DELETE FROM BOM_OPERATION_NETWORKS
297 WHERE rowid=x_rowid;
298 END Delete_Row;
299
300 PROCEDURE CHECK_UNIQUE_LINK(X_ROWID VARCHAR2,
301 X_FROM_OP_SEQ_ID NUMBER,
302 X_TO_OP_SEQ_ID NUMBER) IS
303 dummy NUMBER;
304 from_op_seq_num NUMBER;
305 to_op_seq_num NUMBER;
306 BEGIN
307 SELECT operation_seq_num
308 INTO from_op_seq_num
309 FROM bom_operation_sequences
310 WHERE operation_sequence_id = x_from_op_seq_id;
311
312 SELECT operation_seq_num
313 INTO to_op_seq_num
314 FROM bom_operation_sequences
315 WHERE operation_sequence_id = x_to_op_seq_id;
316
317 SELECT 1 INTO dummy FROM DUAL WHERE NOT EXISTS
318 (SELECT 1 FROM BOM_OPERATION_NETWORKS
319 WHERE from_op_seq_id = X_From_Op_Seq_Id
320 AND To_Op_Seq_Id = X_To_Op_Seq_Id
321 AND ((X_Rowid IS NULL) OR (ROWID <> X_Rowid))
322 );
323 EXCEPTION
324 WHEN NO_DATA_FOUND THEN
325 FND_MESSAGE.SET_NAME('BOM','BOM_LINK_ALREADY_EXISTS');
326 FND_MESSAGE.SET_TOKEN('FROM_OP_SEQ_ID',to_char(from_op_seq_num), FALSE);
327 FND_MESSAGE.SET_TOKEN('TO_OP_SEQ_ID',to_char(to_op_seq_num), FALSE);
328 APP_EXCEPTION.RAISE_EXCEPTION;
329 END;
330
331 END BOM_OPERATION_NETWORKS_PKG;