DBA Data[Home] [Help]

PACKAGE BODY: APPS.PO_RFQ_VENDOR_SV

Source


1 PACKAGE BODY PO_RFQ_VENDOR_SV as
2 /* $Header: POXSORVB.pls 115.1 2002/11/26 19:49:47 sbull ship $ */
3 /*==========================  PO_RFQ_VENDOR_SV  ============================*/
4 
5 
6 /*===========================================================================
7 
8   PROCEDURE NAME:	test_get_sequence_num()
9 
10 ===========================================================================*/
11 
12 PROCEDURE test_get_sequence_num(X_po_header_id	IN	 NUMBER) IS
13 
14 X_sequence_num		NUMBER := '';
15 
16 BEGIN
17   dbms_output.put_line('before call');
18 
19   po_rfq_vendor_sv.get_sequence_num(X_po_header_id,
20 			   	    X_sequence_num);
21 
22   dbms_output.put_line('The next sequence number is = '||X_sequence_num);
23 
24 END test_get_sequence_num;
25 
26 
27 /*===========================================================================
28 
29   FUNCTION NAME:	get_sequence_num()
30 
31 ===========================================================================*/
32 
33 PROCEDURE get_sequence_num
34 		(X_po_header_id		IN	NUMBER,
35 		 X_sequence_num		IN OUT	NOCOPY NUMBER) IS
36 
37 x_progress VARCHAR2(3) := '';
38 
39 CURSOR C is
40 	SELECT max(sequence_num) + 1
41 	FROM   po_rfq_vendors
42 	WHERE  po_header_id = X_po_header_id;
43 
44 BEGIN
45 
46   dbms_output.put_line('Before_open_cursor');
47 
48   IF (X_po_header_id is not null) THEN
49     x_progress := '010';
50     OPEN C;
51     x_progress := '020';
52 
53     /*
54     ** Get the next sequence number.
55     */
56     FETCH C into X_sequence_num;
57     CLOSE C;
58 
59     /*
60     ** If there is no sequence number retrieved, then this is the first
61     ** RFQ Vendor line to be created.  Default the sequence number to 1
62     ** in this case.
63     */
64     IF (X_sequence_num is NULL) THEN
65       X_sequence_num := 1;
66     END IF;
67 
68     dbms_output.put_line('Next sequence number is: '||X_sequence_num);
69 
70   ELSE
71     x_progress := '030';
72     po_message_s.sql_error('no po_header_id', x_progress, sqlcode);
73 
74   END IF;
75 
76 EXCEPTION
77   WHEN OTHERS THEN
78     po_message_s.sql_error('get_sequence_num', x_progress, sqlcode);
79 
80 END get_sequence_num;
81 
82 /*===========================================================================
83 
84   PROCEDURE NAME:	test_val_seq_num_unique
85 
86 ===========================================================================*/
87 PROCEDURE test_val_seq_num_unique (X_po_header_id  	IN  NUMBER,
88 				   X_sequence_num  	IN  NUMBER) IS
89 
90 X_seq_num_is_unique VARCHAR2(1) := '';
91 
92 BEGIN
93 
94   dbms_output.put_line('before call');
95 
96   po_rfq_vendor_sv.val_seq_num_unique(X_po_header_id, X_sequence_num,
97 				      X_seq_num_is_unique);
98 
99   dbms_output.put_line('after call');
100   dbms_output.put_line('Sequence unique = '||X_seq_num_is_unique);
101 
102 END test_val_seq_num_unique;
103 
104 
105 /*===========================================================================
106 
107   PROCEDURE NAME:	val_seq_num_unique()
108 
109 ===========================================================================*/
110 
111 PROCEDURE val_seq_num_unique
112 		(X_po_header_id		IN	NUMBER,
113 		 X_sequence_num		IN	NUMBER,
114 		 X_seq_num_is_unique	IN OUT	NOCOPY VARCHAR2) IS
115 
116 x_progress VARCHAR2(3) := '';
117 
118 BEGIN
119 
120   x_progress := '010';
121 
122   /*
123   ** Verify uniqueness of the sequence number for the RFQ Vendor list.
124   */
125   SELECT MAX('N')
126   INTO   X_seq_num_is_unique
127   FROM   po_rfq_vendors
128   WHERE  po_header_id = X_po_header_id
129   AND    sequence_num = X_sequence_num;
130 
131   x_progress := '020';
132 
133   IF (X_seq_num_is_unique is NULL) THEN
134     X_seq_num_is_unique := 'Y';
135   END IF;
136 
137   dbms_output.put_line('Sequence is unique = '||X_seq_num_is_unique);
138 
139 EXCEPTION
140   WHEN OTHERS THEN
141     po_message_s.sql_error('val_seq_num_unique', x_progress, sqlcode);
142 
143 END val_seq_num_unique;
144 
145 END PO_RFQ_VENDOR_SV;
146