DBA Data[Home] [Help]

PACKAGE BODY: APPS.PO_KANBAN_SV

Source


1 PACKAGE BODY PO_KANBAN_SV AS
2 /* $Header: POXKBANB.pls 115.0 99/07/17 01:43:21 porting ship $*/
3 
4 
5 /*===========================================================================
6   PROCEDURE NAME:       Update_Card_Status
7 
8   DESCRIPTION:
9 
10 
11   CHANGE HISTORY:       WLAU       8/28/1997     Created
12 
13 ===========================================================================*/
14 
15   PROCEDURE Update_Card_Status   (p_card_status      IN VARCHAR2,
16 				  p_document_type    IN VARCHAR2,
17 				  p_document_id      IN NUMBER,
18 				  p_kanban_return_status OUT VARCHAR2)   IS
19 
20     -- Define cursor for getting release Kanban Card ID
21     CURSOR Kanban_rel_dist IS
22            SELECT PO_DISTRIBUTION_ID, KANBAN_CARD_ID
23              FROM PO_DISTRIBUTIONS
24             WHERE PO_RELEASE_ID = p_document_id
25               AND KANBAN_CARD_ID is not NULL;
26 
27     -- Define cursor for getting PO Kanban Card ID
28     CURSOR Kanban_PO_dist IS
29            SELECT PO_DISTRIBUTION_ID, KANBAN_CARD_ID
30              FROM PO_DISTRIBUTIONS
31             WHERE PO_HEADER_ID = p_document_id
32               AND KANBAN_CARD_ID is not NULL;
33 
34     -- Define cursor for getting PO Kanban Card ID
35     CURSOR Kanban_req_line IS
36            SELECT prl.REQUISITION_LINE_ID, prl.KANBAN_CARD_ID
37              FROM PO_REQUISITION_HEADERS prh,
38                   PO_REQUISITION_LINES prl
39             WHERE prh.REQUISITION_HEADER_ID = p_document_id
40               AND prh.REQUISITION_HEADER_ID = prl.REQUISITION_HEADER_ID
41 	      AND prh.TYPE_LOOKUP_CODE = 'INTERNAL'
42               AND prl.KANBAN_CARD_ID is not NULL;
43 
44 
45    l_distribution_id  		NUMBER := 0;
46    l_req_line_id   		NUMBER := 0;
47    l_kanban_card_id        	NUMBER := 0;
48 
49    l_progress                 	VARCHAR2(80) := NULL;
50 
51 
52   BEGIN
53 
54     dbms_output.put_line ('Update_Card_Status');
55 
56 
57     IF 	  p_document_type = 'PO' THEN
58 
59           -- Update PO distributions kanban card status
60 
61        	  OPEN Kanban_PO_dist;
62 
63           LOOP
64 
65              FETCH Kanban_PO_dist into   l_distribution_id,
66 				         l_kanban_card_id;
67 
68              EXIT WHEN Kanban_PO_dist%NOTFOUND;
69 
70              -- if Kanban Card Id exists in the distribution,
71              -- Call INV API to update the Kanban Card Status to 'IN PROCESS'
72 
73              INV_Kanban_PVT.Update_Card_Supply_Status
74 				(p_kanban_return_status,
75                       		 l_kanban_card_id,
76 			 	 INV_Kanban_PVT.G_Supply_Status_InProcess,
77 				 INV_Kanban_PVT.G_doc_type_PO,
78 				 p_document_id,
79 				 l_distribution_id);
80 
81           END LOOP;
82 
83           CLOSE Kanban_PO_dist;
84 
85 
86     ELSIF p_document_type = 'RELEASE' THEN
87 
88 
89           -- Update Release distributions kanban card status
90 
91        	  OPEN Kanban_rel_dist;
92 
93           LOOP
94 
95              FETCH Kanban_rel_dist into  l_distribution_id,
96 				         l_kanban_card_id;
97 
98              EXIT WHEN Kanban_rel_dist%NOTFOUND;
99 
100              -- if Kanban Card Id exists in the distribution,
101              -- Call INV API to update the Kanban Card Status to 'IN PROCESS'
102 
103              INV_Kanban_PVT.Update_Card_Supply_Status
104 				(p_kanban_return_status,
105                       		 l_kanban_card_id,
106 			 	 INV_Kanban_PVT.G_Supply_Status_InProcess,
107 				 INV_Kanban_PVT.G_doc_type_release,
108 				 p_document_id,
109 				 l_distribution_id);
110 
111           END LOOP;
112 
113           CLOSE Kanban_rel_dist;
114 
115 
116     ELSIF p_document_type IN ('REQ', 'REQUISITION') THEN
117 
118 
119           -- Update Internal requisition kanban card status
120 
121        	  OPEN Kanban_req_line;
122 
123           LOOP
124 
125              FETCH Kanban_req_line into  l_req_line_id,
126 				         l_kanban_card_id;
127 
128              EXIT WHEN Kanban_req_line%NOTFOUND;
129 
130              -- if Kanban Card Id exists in the internal requisition line,
131              -- Call INV API to update the Kanban Card Status to 'IN PROCESS'
132 
133              INV_Kanban_PVT.Update_Card_Supply_Status
134 				(p_kanban_return_status,
135                       		 l_kanban_card_id,
136 			 	 INV_Kanban_PVT.G_Supply_Status_InProcess,
137 				 INV_Kanban_PVT.G_doc_type_Internal_Req,
138 				 p_document_id,
139 				 l_req_line_id);
140 
141           END LOOP;
142 
143           CLOSE Kanban_req_line;
144 
145 
146     ELSE
147  	  dbms_output.put_line ('Invalid document type passed');
148 
149     END IF;
150 
151 
152     dbms_output.put_line ('End Update_Card_Status');
153 
154     EXCEPTION
155 
156         WHEN OTHERS THEN
157              NULL;
158 
159 
160   END Update_Card_Status;
161 
162 
163 /*===========================================================================
164   PROCEDURE NAME:       Update_Card_Status_Full
165 
166   DESCRIPTION:
167 
168 
169   CHANGE HISTORY:       WLAU       8/28/1997     Created
170 
171 ===========================================================================*/
172 
173   PROCEDURE Update_Card_Status_Full   (p_kanban_card_ID    IN NUMBER,
174 				       p_kanban_return_status OUT VARCHAR2)  IS
175 
176 
177    l_progress                 VARCHAR2(80) := NULL;
178 
179 
180   BEGIN
181 
182     dbms_output.put_line ('Start Update_Card_Status_Full ');
183 
184      INV_KANBAN_PVT.UPDATE_CARD_SUPPLY_STATUS
185                              (p_kanban_return_status,
186 			      p_kanban_card_ID,
187                               INV_KANBAN_PVT.G_SUPPLY_STATUS_FULL);
188 
189     dbms_output.put_line ('End  Update_Card_Status_Full ');
190 
191     EXCEPTION
192 
193         WHEN OTHERS THEN
194              NULL;
195 
196 
197   END Update_Card_Status_Full;
198 
199 
200 END PO_KANBAN_SV;