DBA Data[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;