DBA Data[Home] [Help]

PACKAGE BODY: APPS.PO_REQ_TEMPLATE_SV

Source


1 PACKAGE BODY po_req_template_sv AS
2 /* $Header: POXRQT1B.pls 120.3 2006/01/30 18:13:40 pthapliy noship $*/
3 
4 /*===========================================================================
5 
6   PROCEDURE NAME: insert_line
7 
8 ===========================================================================*/
9 
10 PROCEDURE insert_line (x_rowid        IN OUT NOCOPY VARCHAR2,
11             x_express_name      IN  VARCHAR2,
12       x_sequence_num      IN  NUMBER,
13       x_creation_date     IN  DATE,
14       x_last_update_date    IN  DATE,
15       x_po_header_id      IN  NUMBER,
16       x_po_line_id      IN  NUMBER,
17       x_created_by      IN  NUMBER,
18       x_last_update_login   IN  NUMBER,
19       x_item_id     IN  NUMBER,
20       x_line_type_id      IN  NUMBER,
21       x_item_revision     IN  VARCHAR2,
22       x_category_id     IN  NUMBER,
23       x_unit_meas_lookup_code   IN  VARCHAR2,
24       x_suggested_quantity    IN  NUMBER, --KitSupport FPJ
25       x_unit_price      IN  NUMBER,
26       x_suggested_vendor_id     IN  NUMBER,
27       x_suggested_vendor_site_id  IN  NUMBER,
28       x_suggested_vendor_contact_id IN  NUMBER,
29       x_suggested_vendor_prod_code  IN  VARCHAR2,
30       x_suggested_buyer_id    IN  NUMBER,
31       x_rfq_required_flag   IN  VARCHAR2,
32       x_vendor_source_context   IN  VARCHAR2,
33       x_source_type_code    IN  VARCHAR2,
34       x_source_organization_id  IN  NUMBER,
35       x_source_subinventory   IN  VARCHAR2,
36       x_item_description    IN  VARCHAR2,
37       x_attribute_category    IN  VARCHAR2,
38       x_attribute1      IN      VARCHAR2,
39       x_attribute2      IN      VARCHAR2,
40       x_attribute3      IN      VARCHAR2,
41       x_attribute4      IN      VARCHAR2,
42       x_attribute5      IN      VARCHAR2,
43       x_attribute6      IN      VARCHAR2,
44       x_attribute7      IN      VARCHAR2,
45       x_attribute8      IN      VARCHAR2,
46       x_attribute9      IN      VARCHAR2,
47       x_attribute10     IN      VARCHAR2,
48       x_attribute11     IN      VARCHAR2,
49       x_attribute12     IN      VARCHAR2,
50       x_attribute13     IN      VARCHAR2,
51       x_attribute14     IN      VARCHAR2,
52       x_attribute15     IN      VARCHAR2,
53                         x_amount                        IN      NUMBER,  -- <SERVICES FPJ>
54       x_negotiated_by_preparer_flag   IN  VARCHAR2, --<DBI FPJ>
55                         p_org_id                        IN      NUMBER DEFAULT NULL   -- <R12 MOAC>
56       )
57 IS
58   x_progress       VARCHAR2(3) := '';
59 
60   l_ip_category_id PO_LINES_ALL.ip_category_id%TYPE; -- <Unified Catalog R12>
61 
62         CURSOR C IS
63       SELECT rowid
64       FROM   PO_REQEXPRESS_LINES
65             WHERE  express_name = x_express_name
66       AND    sequence_num = x_sequence_num;
67 BEGIN
68 
69     IF (x_express_name IS NOT NULL AND
70   x_sequence_num IS NOT NULL AND
71   x_created_by IS NOT NULL) THEN
72 
73         x_progress := '010';
74         -- <Unified Catalog R12 Start>
75         -- Default the IP_CATEGORY_ID
76         PO_ATTRIBUTE_VALUES_PVT.get_ip_category_id
77         (
78           p_po_category_id => x_category_id
79         , x_ip_category_id => l_ip_category_id -- OUT
80         );
81         -- <Unified Catalog R12 End>
82 
83         x_progress := '015';
84         --dbms_output.put_line('Before insert');
85 
86         -- <SERVICES FPJ>
87         -- Added Amount to the INSERT statement
88         INSERT INTO PO_REQEXPRESS_LINES (
89       express_name,
90       sequence_num,
91       last_update_date,
92       last_updated_by,
93       creation_date,
94       po_header_id,
95       po_line_id,
96       created_by,
97       last_update_login,
98       item_id,
99       line_type_id,
100       item_revision,
101       category_id,
102       unit_meas_lookup_code,
103       suggested_quantity, --KitSupport FPJ
104       unit_price,
105       suggested_vendor_id,
106       suggested_vendor_site_id,
107       suggested_vendor_contact_id,
108       suggested_vendor_product_code,
109       suggested_buyer_id,
110       rfq_required_flag,
111       vendor_source_context,
112       source_type_code,
113       source_organization_id,
114       source_subinventory,
115       item_description,
116       attribute_category,
117       attribute1,
118       attribute2,
119       attribute3,
120       attribute4,
121       attribute5,
122       attribute6,
123       attribute7,
124       attribute8,
125       attribute9,
126       attribute10,
127       attribute11,
128       attribute12,
129       attribute13,
130       attribute14,
131       attribute15,
132       amount,
133       negotiated_by_preparer_flag,--<DBI FPJ>
134       Org_Id,                     -- <R12 MOAC>
135       ip_category_id              -- <Unified Catalog R12>
136       )
137         VALUES (
138       x_express_name,
139       x_sequence_num,
140       x_last_update_date,
141       x_created_by,
142       x_creation_date,
143       x_po_header_id,
144       x_po_line_id,
145       x_created_by,
146       x_last_update_login,
147       x_item_id,
148       x_line_type_id,
149       x_item_revision,
150       x_category_id,
151       x_unit_meas_lookup_code,
152       x_suggested_quantity, --KitSupport FPJ
153       x_unit_price,
154       x_suggested_vendor_id,
155       x_suggested_vendor_site_id,
156       x_suggested_vendor_contact_id,
157       x_suggested_vendor_prod_code,
158       x_suggested_buyer_id,
159       x_rfq_required_flag,
160       x_vendor_source_context,
161       x_source_type_code,
162       x_source_organization_id,
163       x_source_subinventory,
164       x_item_description,
165       x_attribute_category,
166       x_attribute1,
167       x_attribute2,
168       x_attribute3,
169       x_attribute4,
170       x_attribute5,
171       x_attribute6,
172       x_attribute7,
173       x_attribute8,
174       x_attribute9,
175       x_attribute10,
176       x_attribute11,
177       x_attribute12,
178       x_attribute13,
179       x_attribute14,
180       x_attribute15,
181       x_amount,
182       x_negotiated_by_preparer_flag,      --<DBI FPJ>
183       p_org_id,                           -- <R12 MOAC>
184       l_ip_category_id                    -- <Unified Catalog R12>
185       );
186 
187         --dbms_output.put_line('After insert');
188         x_progress := '020';
189 
190         OPEN C;
191         FETCH C INTO x_rowid;
192         if (C%NOTFOUND) then
193           CLOSE C;
194           Raise NO_DATA_FOUND;
195         end if;
196         CLOSE C;
197 
198     -- <Unified Catalog R12 Start>
199     -- Create default Attr and TLP rows for this PO Line
200     PO_ATTRIBUTE_VALUES_PVT.create_default_attributes
201     (
202       p_doc_type              => 'REQ_TEMPLATE',
203       p_po_line_id            => NULL,
204       p_req_template_name     => x_express_name,
205       p_req_template_line_num => x_sequence_num,
206       p_ip_category_id        => l_ip_category_id,
207       p_inventory_item_id     => x_item_id,
208       p_org_id                => p_org_id,
209       p_description           => x_item_description
210     );
211     -- <Unified Catalog R12 End>
212 
213     END IF;
214 
215 EXCEPTION
216     WHEN OTHERS THEN
217   --dbms_output.put_line('Exception in insert_lines');
218   PO_MESSAGE_S.SQL_ERROR('INSERT_HEADER', x_progress, sqlcode);
219   RAISE;
220 END;
221 
222 /*===========================================================================
223 
224   PROCEDURE NAME: update_line
225 
226 ===========================================================================*/
227 
228 PROCEDURE update_line (x_rowid    VARCHAR2,
229             x_express_name    VARCHAR2,
230       x_sequence_num    NUMBER,
231       x_last_updated_by NUMBER,
232       x_last_update_date  DATE,
233       x_po_header_id    NUMBER,
234       x_po_line_id    NUMBER,
235       x_last_update_login NUMBER,
236       x_item_id   NUMBER,
237       x_line_type_id    NUMBER,
238       x_item_revision   VARCHAR2,
239       x_category_id   NUMBER,
240       x_unit_meas_lookup_code VARCHAR2,
241       x_suggested_quantity  NUMBER, --KitSupport FPJ
242       x_unit_price    NUMBER,
243       x_suggested_vendor_id   NUMBER,
244       x_suggested_vendor_site_id  NUMBER,
245       x_suggested_vendor_contact_id NUMBER,
246       x_suggested_vendor_prod_code  VARCHAR2,
247       x_suggested_buyer_id    NUMBER,
248       x_rfq_required_flag   VARCHAR2,
249       x_vendor_source_context   VARCHAR2,
250       x_source_type_code    VARCHAR2,
251       x_source_organization_id  NUMBER,
252       x_source_subinventory   VARCHAR2,
253       x_item_description    VARCHAR2,
254       x_attribute_category    VARCHAR2,
255       x_attribute1      VARCHAR2,
256       x_attribute2      VARCHAR2,
257       x_attribute3      VARCHAR2,
258       x_attribute4      VARCHAR2,
259       x_attribute5      VARCHAR2,
260       x_attribute6      VARCHAR2,
261       x_attribute7      VARCHAR2,
262       x_attribute8      VARCHAR2,
263       x_attribute9      VARCHAR2,
264       x_attribute10     VARCHAR2,
265       x_attribute11     VARCHAR2,
266       x_attribute12     VARCHAR2,
267       x_attribute13     VARCHAR2,
268       x_attribute14     VARCHAR2,
269       x_attribute15     VARCHAR2,
270                         x_amount                        NUMBER,  -- <SERVICES FPJ>
271       x_negotiated_by_preparer_flag   VARCHAR2) --<DBI FPJ>
272 IS
273   x_progress  VARCHAR2(3) := '';
274   l_ip_category_id PO_LINES_ALL.ip_category_id%TYPE; -- <Unified Catalog R12>
275 BEGIN
276     x_progress := '010';
277     --dbms_output.put_line('Before Update');
278 
279     -- <Unified Catalog R12 Start>
280     -- Get the new IP_CATEGORY_ID
281     PO_ATTRIBUTE_VALUES_PVT.get_ip_category_id
282     (
283       p_po_category_id => x_category_id
284     , x_ip_category_id => l_ip_category_id -- OUT
285     );
286     -- <Unified Catalog R12 End>
287 
288     -- <SERVICES FPJ>
289     -- Added Amount to the UPDATE statement
290     UPDATE PO_REQEXPRESS_LINES
291     SET    express_name = x_express_name,
292      sequence_num = x_sequence_num,
293      last_update_date = x_last_update_date,
294      last_updated_by = x_last_updated_by,
295      po_header_id = x_po_header_id,
296      po_line_id = x_po_line_id,
297      last_update_login = x_last_update_login,
298      item_id = x_item_id,
299      line_type_id = x_line_type_id,
300      item_revision = x_item_revision,
301      category_id = x_category_id,
302      unit_meas_lookup_code = x_unit_meas_lookup_code,
303      suggested_quantity = x_suggested_quantity, --KitSupport FPJ
304      unit_price = x_unit_price,
305      suggested_vendor_id = x_suggested_vendor_id,
306      suggested_vendor_site_id = x_suggested_vendor_site_id,
307      suggested_vendor_contact_id = x_suggested_vendor_contact_id,
308      suggested_vendor_product_code = x_suggested_vendor_prod_code,
309      suggested_buyer_id = x_suggested_buyer_id,
310      rfq_required_flag = x_rfq_required_flag,
311      vendor_source_context = x_vendor_source_context,
312      source_type_code = x_source_type_code,
313      source_organization_id = x_source_organization_id,
314      source_subinventory = x_source_subinventory,
315      item_description = x_item_description,
316      attribute_category = x_attribute_category,
317      attribute1 = x_attribute1,
318      attribute2 = x_attribute2,
319      attribute3 = x_attribute3,
320      attribute4 = x_attribute4,
321      attribute5 = x_attribute5,
322      attribute6 = x_attribute6,
323      attribute7 = x_attribute7,
324      attribute8 = x_attribute8,
325      attribute9 = x_attribute9,
326      attribute10 = x_attribute10,
327      attribute11 = x_attribute11,
328      attribute12 = x_attribute12,
329      attribute13 = x_attribute13,
330      attribute14 = x_attribute14,
331      attribute15 = x_attribute15,
332      amount      = x_amount,
333      negotiated_by_preparer_flag = x_negotiated_by_preparer_flag, --<DBI FPJ>
334      ip_category_id = l_ip_category_id --<Unified Catalog R12>
335     WHERE  rowid = x_rowid;
336 
337     IF (SQL%NOTFOUND) THEN
338       Raise NO_DATA_FOUND;
339     END IF;
340 
341     --<Unified Catalog R12: Start>
342     PO_ATTRIBUTE_VALUES_PVT.update_attributes
343     (
344       p_doc_type              => 'REQ_TEMPLATE'
345     , p_po_line_id            => NULL
346     , p_req_template_name     => x_express_name
347     , p_req_template_line_num => x_sequence_num
348     , p_org_id                => PO_MOAC_UTILS_PVT.get_current_org_id
349     , p_ip_category_id        => l_ip_category_id
350     , p_language              => userenv('LANG')
351     , p_item_description      => x_item_description
352     );
353     --<Unified Catalog R12: End>
354 
355 EXCEPTION
356     WHEN OTHERS THEN
357   --dbms_output.put_line('Exception in update_lines');
358   PO_MESSAGE_S.SQL_ERROR('UPDATE_LINES', x_progress, sqlcode);
359   RAISE;
360 END;
361 
362 /*===========================================================================
363 
364   PROCEDURE NAME: lock_line
365 
366 ===========================================================================*/
367 
368 PROCEDURE lock_line (x_rowid    VARCHAR2,
369             x_express_name    VARCHAR2,
370       x_sequence_num    NUMBER,
371       x_po_header_id    NUMBER,
372       x_po_line_id    NUMBER,
373       x_item_id   NUMBER,
374       x_line_type_id    NUMBER,
375       x_item_revision   VARCHAR2,
376       x_category_id   NUMBER,
377       x_unit_meas_lookup_code VARCHAR2,
378       x_suggested_quantity  NUMBER, --KitSupport FPJ
379       x_unit_price    NUMBER,
380       x_suggested_vendor_id   NUMBER,
381       x_suggested_vendor_site_id  NUMBER,
382       x_suggested_vendor_contact_id NUMBER,
383       x_suggested_vendor_prod_code  VARCHAR2,
384       x_suggested_buyer_id    NUMBER,
385       x_rfq_required_flag   VARCHAR2,
386       x_vendor_source_context   VARCHAR2,
387       x_source_type_code    VARCHAR2,
388       x_source_organization_id  NUMBER,
389       x_source_subinventory   VARCHAR2,
390       x_item_description    VARCHAR2,
391       x_attribute_category    VARCHAR2,
392       x_attribute1      VARCHAR2,
393       x_attribute2      VARCHAR2,
394       x_attribute3      VARCHAR2,
395       x_attribute4      VARCHAR2,
396       x_attribute5      VARCHAR2,
397       x_attribute6      VARCHAR2,
398       x_attribute7      VARCHAR2,
399       x_attribute8      VARCHAR2,
400       x_attribute9      VARCHAR2,
401       x_attribute10     VARCHAR2,
402       x_attribute11     VARCHAR2,
403       x_attribute12     VARCHAR2,
404       x_attribute13     VARCHAR2,
405       x_attribute14     VARCHAR2,
406       x_attribute15     VARCHAR2,
407                         x_amount                        NUMBER)  -- <SERVICES FPJ>
408 IS
409     CURSOR C IS
410         SELECT  *
411         FROM    PO_REQEXPRESS_LINES
412         WHERE   rowid = x_rowid
413         FOR UPDATE of express_name NOWAIT;
414     Recinfo C%ROWTYPE;
415 
416 BEGIN
417     OPEN C;
418     FETCH C INTO Recinfo;
419     IF (C%NOTFOUND) then
420         CLOSE C;
421         FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
422         APP_EXCEPTION.Raise_Exception;
423     END IF;
424     CLOSE C;
425 
426     -- <SERVICES FPJ>
427     -- Added Amount to the IF statement so that it can be locked
431      AND (Recinfo.sequence_num = x_sequence_num)
428     -- when necessary.
429     IF (
430                (Recinfo.express_name = X_express_name)
432            AND (   (Recinfo.po_header_id = X_po_header_id)
433                 OR (    (Recinfo.po_header_id IS NULL)
434                     AND (X_po_header_id IS NULL)))
435            AND (   (Recinfo.po_line_id = X_po_line_id)
436                 OR (    (Recinfo.po_line_id IS NULL)
437                     AND (X_po_line_id IS NULL)))
438            AND (   (Recinfo.item_id = X_item_id)
439                 OR (    (Recinfo.item_id IS NULL)
440                     AND (X_item_id IS NULL)))
441            AND (   (Recinfo.line_type_id = X_line_type_id)
442                 OR (    (Recinfo.line_type_id IS NULL)
443                     AND (X_line_type_id IS NULL)))
444            AND (   (Recinfo.item_revision = X_item_revision)
445                 OR (    (Recinfo.item_revision IS NULL)
446                     AND (X_item_revision IS NULL)))
447            AND (   (Recinfo.category_id = X_category_id)
448                 OR (    (Recinfo.category_id IS NULL)
449                     AND (X_category_id IS NULL)))
450            AND (   (Recinfo.unit_meas_lookup_code = X_unit_meas_lookup_code)
451                 OR (    (Recinfo.unit_meas_lookup_code IS NULL)
452                     AND (X_unit_meas_lookup_code IS NULL)))
453            AND (   (Recinfo.suggested_quantity = X_suggested_quantity) --KitSupport FPJ
454                 OR (    (Recinfo.suggested_quantity IS NULL)
455                     AND (X_suggested_quantity IS NULL)))
456            AND (   (Recinfo.unit_price = X_unit_price)
457                 OR (    (Recinfo.unit_price IS NULL)
458                     AND (X_unit_price IS NULL)))
459            AND (   (Recinfo.suggested_vendor_id = X_suggested_vendor_id)
460                 OR (    (Recinfo.suggested_vendor_id IS NULL)
461                     AND (X_suggested_vendor_id IS NULL)))
462            AND (   (Recinfo.suggested_vendor_site_id = X_suggested_vendor_site_id)
463                 OR (    (Recinfo.suggested_vendor_site_id IS NULL)
464                     AND (X_suggested_vendor_site_id IS NULL)))
465            AND (   (Recinfo.suggested_vendor_contact_id = X_suggested_vendor_contact_id)
466                 OR (    (Recinfo.suggested_vendor_contact_id IS NULL)
467                     AND (X_suggested_vendor_contact_id IS NULL)))
468            AND (   (Recinfo.suggested_vendor_product_code = X_suggested_vendor_prod_code)
469                 OR (    (Recinfo.suggested_vendor_product_code IS NULL)
470                     AND (X_suggested_vendor_prod_code IS NULL)))
471            AND (   (Recinfo.suggested_buyer_id = X_suggested_buyer_id)
472                 OR (    (Recinfo.suggested_buyer_id IS NULL)
473                     AND (X_suggested_buyer_id IS NULL)))
474            AND (   (Recinfo.rfq_required_flag = X_rfq_required_flag)
475                 OR (    (Recinfo.rfq_required_flag IS NULL)
476                     AND (X_rfq_required_flag IS NULL)))
477            AND (   (Recinfo.vendor_source_context = X_vendor_source_context)
478                 OR (    (Recinfo.vendor_source_context IS NULL)
479                     AND (X_vendor_source_context IS NULL)))
480            AND (   (Recinfo.source_type_code = X_source_type_code)
481                 OR (    (Recinfo.source_type_code IS NULL)
482                     AND (X_source_type_code IS NULL)))
483            AND (   (Recinfo.source_organization_id = X_source_organization_id)
484                 OR (    (Recinfo.source_organization_id IS NULL)
485                     AND (X_source_organization_id IS NULL)))
486            AND (   (Recinfo.source_subinventory = X_source_subinventory)
487                 OR (    (Recinfo.source_subinventory IS NULL)
488                     AND (X_source_subinventory IS NULL)))
489            AND (   (Recinfo.item_description = X_item_description)
490                 OR (    (Recinfo.item_description IS NULL)
491                     AND (X_item_description IS NULL)))
492            AND (   (Recinfo.attribute_category = X_attribute_category)
493                 OR (    (Recinfo.attribute_category IS NULL)
494                     AND (X_attribute_category IS NULL)))
495            AND (   (Recinfo.attribute1 = X_attribute1)
496                 OR (    (Recinfo.attribute1 IS NULL)
497                     AND (X_attribute1 IS NULL)))
498            AND (   (Recinfo.attribute2 = X_attribute2)
499                 OR (    (Recinfo.attribute2 IS NULL)
500                     AND (X_attribute2 IS NULL)))
501            AND (   (Recinfo.attribute3 = X_attribute3)
502                 OR (    (Recinfo.attribute3 IS NULL)
503                     AND (X_attribute3 IS NULL)))
504            AND (   (Recinfo.attribute4 = X_attribute4)
505                 OR (    (Recinfo.attribute4 IS NULL)
506                     AND (X_attribute4 IS NULL)))
507            AND (   (Recinfo.attribute5 = X_attribute5)
508                 OR (    (Recinfo.attribute5 IS NULL)
509                     AND (X_attribute5 IS NULL)))
510            AND (   (Recinfo.attribute6 = X_attribute6)
511                 OR (    (Recinfo.attribute6 IS NULL)
512                     AND (X_attribute6 IS NULL)))
513            AND (   (Recinfo.attribute7 = X_attribute7)
514                 OR (    (Recinfo.attribute7 IS NULL)
515                     AND (X_attribute7 IS NULL)))
516            AND (   (Recinfo.attribute8 = X_attribute8)
517                 OR (    (Recinfo.attribute8 IS NULL)
518                     AND (X_attribute8 IS NULL)))
519            AND (   (Recinfo.attribute9 = X_attribute9)
520                 OR (    (Recinfo.attribute9 IS NULL)
521                     AND (X_attribute9 IS NULL)))
522            AND (   (Recinfo.attribute10 = X_attribute10)
523                 OR (    (Recinfo.attribute10 IS NULL)
524                     AND (X_attribute10 IS NULL)))
525            AND (   (Recinfo.attribute11 = X_attribute11)
526                 OR (    (Recinfo.attribute11 IS NULL)
527                     AND (X_attribute11 IS NULL)))
528            AND (   (Recinfo.attribute12 = X_attribute12)
529                 OR (    (Recinfo.attribute12 IS NULL)
530                     AND (X_attribute12 IS NULL)))
531            AND (   (Recinfo.attribute13 = X_attribute13)
532                 OR (    (Recinfo.attribute13 IS NULL)
533                     AND (X_attribute13 IS NULL)))
534            AND (   (Recinfo.attribute14 = X_attribute14)
535                 OR (    (Recinfo.attribute14 IS NULL)
536                     AND (X_attribute14 IS NULL)))
537            AND (   (Recinfo.attribute15 = X_attribute15)
538                 OR (    (Recinfo.attribute15 IS NULL)
539                     AND (X_attribute15 IS NULL)))
540            AND (   (Recinfo.amount = x_amount)
541                 OR (    (Recinfo.amount IS NULL)
542                     AND (x_amount IS NULL)))
543      ) THEN
544   return;
545 
546     ELSE
547   FND_MESSAGE.set_name('FND', 'FORM_RECORD_CHANGED');
548    APP_EXCEPTION.RAISE_EXCEPTION;
549     END IF;
550 
551 END;
552 
553 /*===========================================================================
554 
555   PROCEDURE NAME: delete_line
556 
557 ===========================================================================*/
558 
559 PROCEDURE delete_line (x_rowid VARCHAR2)
560 IS
561   -- <Unified Catalog R12 Start>
562   l_req_template_name     PO_REQEXPRESS_LINES_ALL.express_name%TYPE;
563   l_req_template_line_num PO_REQEXPRESS_LINES_ALL.sequence_num%TYPE;
564   l_org_id                PO_REQEXPRESS_LINES_ALL.org_id%TYPE;
565   -- <Unified Catalog R12 End>
566 BEGIN
567 
568     DELETE FROM PO_REQEXPRESS_LINES
569     WHERE  rowid = X_Rowid
570     -- <Unified Catalog R12 Start>
571     RETURNING
572       express_name,
573       sequence_num,
574       org_id
575     INTO
576       l_req_template_name,
577       l_req_template_line_num,
578       l_org_id;
579     -- <Unified Catalog R12 End>
580 
581     IF (SQL%NOTFOUND) THEN
582       Raise NO_DATA_FOUND;
583     END IF;
584 
585     -- <Unified Catalog R12 Start>
586     -- Delete the Attr and TLP rows associated with this line.
587     PO_ATTRIBUTE_VALUES_PVT.delete_attributes
588     (
589       p_doc_type              => 'REQ_TEMPLATE'
590     , p_req_template_name     => l_req_template_name
591     , p_req_template_line_num => l_req_template_line_num
592     , p_org_id                => l_org_id
593     );
594     -- <Unified Catalog R12 End>
595 
596 END;
597 
598 
599 END PO_REQ_TEMPLATE_SV;