DBA Data[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)
201                     AND (x_attribute9 IS NULL)))
198                     AND (x_attribute8 IS NULL)))
199            AND ((Recinfo.attribute9 = x_attribute9)
200                 OR ((Recinfo.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,
265     created_by                      = x_created_by,
262     transition_type                 = x_transition_type,
263     planning_pct                    = x_planning_pct,
264     effectivity_date                = x_effectivity_date,
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;