[Home] [Help]
PACKAGE BODY: APPS.ASO_ORDER_STATUS_PVT
Source
1 PACKAGE BODY Aso_Order_Status_Pvt AS
2 /* $Header: asogtstb.pls 120.1 2005/06/29 12:31:37 appldev ship $ */
3
4 PROCEDURE Get_Header_Status
5 (
6 p_Header_Id IN NUMBER
7 , x_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
8 ) IS
9
10 l_result_date DATE;
11 l_latest_date DATE := NULL;
12 l_result VARCHAR2(1);
13 l_return_status VARCHAR2(20) := NULL;
14
15 BEGIN
16
17 OE_HEADER_STATUS_PUB.Get_Booked_Status
18 (
19 p_header_id => p_Header_Id
20 , x_result => l_result
21 , x_result_date => l_result_date
22 );
23
24 IF ( l_result = 'Y' ) THEN
25
26 l_return_status := 'BOOKED';
27 l_latest_date := l_result_date;
28
29 END IF;
30
31
32 OE_HEADER_STATUS_PUB.Get_Closed_Status
33 (
34 p_header_id => p_Header_Id
35 , x_result => l_result
36 , x_result_date => l_result_date
37 );
38
39 IF ( l_result = 'Y' ) THEN
40
41 IF ( l_latest_date IS NULL OR l_result_date > l_latest_date ) THEN
42
43 l_latest_date := l_result_date;
44 l_return_status := 'CLOSED';
45
46 END IF;
47
48 END IF;
49
50 OE_HEADER_STATUS_PUB.Get_Cancelled_Status
51 (
52 p_header_id => p_Header_Id
53 , x_result => l_result
54 , x_result_date => l_result_date
55 );
56
57 IF ( l_result = 'Y' ) THEN
58
59 IF ( l_latest_date IS NULL OR l_result_date > l_latest_date ) THEN
60
61 l_latest_date := l_result_date;
62 l_return_status := 'CANCELLED';
63
64 END IF;
65
66 END IF;
67
68 IF ( l_return_status IS NULL ) THEN
69
70 l_return_status := 'ENTERED';
71
72 END IF;
73
74 x_Return_Status := l_return_status;
75
76 END Get_Header_Status;
77
78
79 PROCEDURE Get_Line_Status
80 (
81 p_Line_Id IN NUMBER
82 , x_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
83 ) IS
84
85 l_result_date DATE;
86 l_latest_date DATE := NULL;
87 l_result VARCHAR2(1);
88 l_return_status VARCHAR2(20) := NULL;
89
90 BEGIN
91
92 OE_LINE_STATUS_PUB.Get_Closed_Status
93 (
94 p_line_id => p_Line_Id
95 , x_result => l_result
96 , x_result_date => l_result_date
97 );
98
99 IF ( l_result = 'Y' ) THEN
100
101 l_latest_date := l_result_date;
102 l_return_status := 'CLOSED';
103
104 END IF;
105
106 OE_LINE_STATUS_PUB.Get_Cancelled_Status
107 (
108 p_line_id => p_Line_Id
109 , x_result => l_result
110 , x_result_date => l_result_date
111 );
112
113 IF ( l_result = 'Y' ) THEN
114
115 IF ( l_latest_date IS NULL OR l_result_date > l_latest_date ) THEN
116
117 l_latest_date := l_result_date;
118 l_return_status := 'CANCELLED';
119
120 END IF;
121
122 END IF;
123
124 OE_LINE_STATUS_PUB.Get_Purchase_Release_status
125 (
126 p_line_id => p_Line_Id
127 , x_result => l_result
128 , x_result_date => l_result_date
129 );
130
131 IF ( l_result = 'Y' ) THEN
132
133 IF ( l_latest_date IS NULL OR l_result_date > l_latest_date ) THEN
134
135 l_latest_date := l_result_date;
136 l_return_status := 'RELEASED';
137
138 END IF;
139
140 END IF;
141
142 OE_LINE_STATUS_PUB.Get_ship_Status
143 (
144 p_line_id => p_Line_Id
145 , x_result => l_result
146 , x_result_date => l_result_date
147 );
148
149
150 IF ( l_result = 'Y' ) THEN
151
152 IF ( l_latest_date IS NULL OR l_result_date > l_latest_date ) THEN
153
154 l_latest_date := l_result_date;
155 l_return_status := 'SHIPPED';
156
157 END IF;
158
159 END IF;
160
161 OE_LINE_STATUS_PUB.Get_Received_Status
162 (
163 p_line_id => p_Line_Id
164 , x_result => l_result
165 , x_result_date => l_result_date
166 );
167
168 IF ( l_result = 'Y' ) THEN
169
170 IF ( l_latest_date IS NULL OR l_result_date > l_latest_date ) THEN
171
172 l_latest_date := l_result_date;
173 l_return_status := 'RECEIVED';
174
175 END IF;
176
177 END IF;
178
179 OE_LINE_STATUS_PUB.Get_Invoiced_Status
180 (
181 p_line_id => p_Line_Id
182 , x_result => l_result
183 , x_result_date => l_result_date
184 );
185
186 IF ( l_result = 'Y' ) THEN
187
188 IF ( l_latest_date IS NULL OR l_result_date > l_latest_date ) THEN
189
190 l_latest_date := l_result_date;
191 l_return_status := 'INVOICED';
192
193 END IF;
194
195 END IF;
196
197 IF ( l_return_status IS NULL ) THEN
198
199 l_return_status := 'ENTERED';
200
201 END IF;
202
203 x_Return_Status := l_return_status;
204
205 END Get_Line_Status;
206
207
208 END Aso_Order_Status_Pvt;