DBA Data[Home] [Help]

PACKAGE: APPS.WSMPINVL

Source


1 PACKAGE WSMPINVL AUTHID CURRENT_USER AS
2 /* $Header: WSMINVLS.pls 120.4 2006/03/28 03:50:09 sisankar noship $ */
3 
4 USER NUMBER;
5 LOGIN NUMBER;
6 WSMISSUE NUMBER;
7 WSMRECEIPT NUMBER;
8 REQUEST NUMBER;
9 PROGRAM NUMBER;
10 PROGAPPL NUMBER;
11 
12 /*BA#IIIP*/
13 
14 /* Message type for errors in WSM_INTERFACE_ERRORS table
15 ** Message_type lookup in MFG_LOOKUPS.WIP_ML_ERROR_TYPE.
16 ** 1 - Error, 2 - Warning.
17 */
18 	Message_Type_Error Number := 1;
19 	Message_Type_Warning Number := 2;
20 /* Global Debug parameter and is set by MRP_DEBUG profile value */
21 
22 	G_DEBUG varchar2(1) := 'N';
23 
24 /*EA#IIIP*/
25 
26 /* Transaction Types */
27 SPLIT NUMBER := 1;
28 MERGE NUMBER := 2;
29 TRANSLATE NUMBER := 3;
30 TRANSFER NUMBER := 4;
31 
32 /* Modes to call program */
33 ONLINE NUMBER := 1;
34 CONCURRENT NUMBER := 2;
35 
36 /* Values for process status */
37 PENDING NUMBER := 1; -- changed from 2 to 1 by Bala Balakumar, Jul22,2000.
38 ERROR NUMBER := 3;
39 COMPLETE NUMBER := 4;
40 
41 /* Added for bug fix 4958157 */
42 l_miss_char  CONSTANT VARCHAR2(1) := FND_API.G_MISS_CHAR;
43 l_miss_date  CONSTANT DATE        := FND_API.G_MISS_DATE;
44 l_miss_num   CONSTANT NUMBER      := FND_API.G_MISS_NUM;
45 
46 /* This record type is added for maintaining lot attributes in Inv lot transactions */
47 /*
48 Type lot_attributes_rec_type is RECORD
49 (
50  l_mtli_txn_id   		NUMBER,
51  l_description                  VARCHAR2(256),
52  l_grade_code			VARCHAR2(150),
53  l_origination_date		DATE,
54  l_date_code			VARCHAR2(150),
55  l_change_date			DATE,
56  l_age				NUMBER,
57  l_retest_date			DATE,
58  l_maturity_date		DATE,
59  l_item_size			NUMBER,
60  l_color			VARCHAR2(150),
61  l_volume			NUMBER,
62  l_volume_uom			VARCHAR2(3),
63  l_place_of_origin		VARCHAR2(150),
64  l_best_by_date			DATE,
65  l_length			NUMBER,
66  l_length_uom			VARCHAR2(3),
67  l_recycled_content		NUMBER,
68  l_thickness			NUMBER,
69  l_thickness_uom		VARCHAR2(3),
70  l_width			NUMBER,
71  l_width_uom			VARCHAR2(3),
72  l_vendor_id			NUMBER,
73  l_vendor_name				VARCHAR2(240),
74  l_territory_code			VARCHAR2(30),
75  l_supplier_lot_number		VARCHAR2(150),
76  l_curl_wrinkle_fold		VARCHAR2(150),
77  l_lot_attribute_category	VARCHAR2(30),
78  l_attribute_category		VARCHAR2(30)
79 ); */ -- commented out to change this based on MTL_LOT_NUMBERS table
80 
81 Type lot_attributes_rec_type is RECORD
82 (
83  l_mtli_txn_id   			NUMBER,
84  l_description				MTL_LOT_NUMBERS.DESCRIPTION%TYPE,
85  l_grade_code				MTL_LOT_NUMBERS.GRADE_CODE%TYPE,
86  l_origination_date			MTL_LOT_NUMBERS.ORIGINATION_DATE%TYPE,
87  l_date_code				MTL_LOT_NUMBERS.DATE_CODE%TYPE,
88  l_change_date				MTL_LOT_NUMBERS.CHANGE_DATE%TYPE,
89  l_age						MTL_LOT_NUMBERS.AGE%TYPE,
90  l_retest_date				MTL_LOT_NUMBERS.RETEST_DATE%TYPE,
91  l_maturity_date			MTL_LOT_NUMBERS.MATURITY_DATE%TYPE,
92  l_item_size				MTL_LOT_NUMBERS.ITEM_SIZE%TYPE,
93  l_color					MTL_LOT_NUMBERS.COLOR%TYPE,
94  l_volume					MTL_LOT_NUMBERS.VOLUME%TYPE,
95  l_volume_uom				MTL_LOT_NUMBERS.VOLUME_UOM%TYPE,
96  l_place_of_origin			MTL_LOT_NUMBERS.PLACE_OF_ORIGIN%TYPE,
97  l_best_by_date				MTL_LOT_NUMBERS.BEST_BY_DATE%TYPE,
98  l_length					MTL_LOT_NUMBERS.LENGTH%TYPE,
99  l_length_uom				MTL_LOT_NUMBERS.LENGTH_UOM%TYPE,
100  l_recycled_content			MTL_LOT_NUMBERS.RECYCLED_CONTENT%TYPE,
101  l_thickness				MTL_LOT_NUMBERS.THICKNESS%TYPE,
102  l_thickness_uom			MTL_LOT_NUMBERS.THICKNESS_UOM%TYPE,
103  l_width					MTL_LOT_NUMBERS.WIDTH%TYPE,
104  l_width_uom				MTL_LOT_NUMBERS.WIDTH_UOM%TYPE,
105  l_vendor_id				MTL_LOT_NUMBERS.VENDOR_ID%TYPE,
106  l_vendor_name				MTL_LOT_NUMBERS.VENDOR_NAME%TYPE,
107  l_territory_code			MTL_LOT_NUMBERS.TERRITORY_CODE%TYPE,
108  l_supplier_lot_number		MTL_LOT_NUMBERS.SUPPLIER_LOT_NUMBER%TYPE,
109  l_curl_wrinkle_fold		MTL_LOT_NUMBERS.CURL_WRINKLE_FOLD%TYPE,
110  l_lot_attribute_category	MTL_LOT_NUMBERS.LOT_ATTRIBUTE_CATEGORY%TYPE,
111  l_attribute_category		MTL_LOT_NUMBERS.ATTRIBUTE_CATEGORY%TYPE
112 );
113 
114 /* This is the main routing for processing inventory lot transactions
115    You can call the routine to process a group of rows by passing a group
116    id or just one row by passing a transaction id */
117 
118 PROCEDURE Process_Interface_rows(
119 	errbuf    out NOCOPY varchar2,
123 	P_Mode IN NUMBER);
120 	retcode   out NOCOPY number,
121 	P_Group_Id IN NUMBER,
122 	P_header_Id IN NUMBER,
124 
125 PROCEDURE Transact(
126 	P_Group_Id IN NUMBER,
127 	P_header_Id IN NUMBER,
128 	P_Mode IN NUMBER,
129 	x_header_id out NOCOPY number,
130 	o_err_code out NOCOPY number,
131 	o_err_message out NOCOPY varchar2,
132 	x_err_cnt out NOCOPY number);
133 
134 /* Validates data in tables.  Only needs to be called for records that
135   did not come in through the form */
136 --FUNCTION Validate(
137 --P_Transaction_Id IN NUMBER) return BOOLEAN;
138 
139 PROCEDURE Validate_Merge(
140 	P_header_Id IN NUMBER
141 	,err_status OUT NOCOPY NUMBER
142 	,o_err_message OUT NOCOPY VARCHAR);
143 
144 PROCEDURE Validate_HEADER(
145 	P_header_Id IN NUMBER,
146 	err_status OUT NOCOPY NUMBER ,
147 	o_err_message OUT NOCOPY VARCHAR);
148 
149 PROCEDURE Validate_parent(
150 	P_header_Id IN NUMBER,
151 	err_status OUT NOCOPY NUMBER ,
152 	o_err_message OUT NOCOPY VARCHAR);
153 
154 PROCEDURE Validate_Starting(
155 	P_header_Id IN NUMBER,
156 	err_status OUT NOCOPY NUMBER ,
157 	o_err_message OUT NOCOPY VARCHAR);
158 
159 PROCEDURE Validate_resulting(
160 	P_header_Id IN NUMBER,
161 	err_status OUT NOCOPY NUMBER ,
162 	o_err_message OUT NOCOPY VARCHAR);
163 /*
164 FUNCTION Validate_Header(
165 	P_Transaction_Id IN NUMBER) return BOOLEAN;
166 
167 FUNCTION Validate_Starting(
168 	P_Transaction_Id IN NUMBER) return BOOLEAN;
169 
170 FUNCTION Validate_Resulting(
171 	P_Transaction_Id IN NUMBER) return BOOLEAN;
172 */
173 
174 /* Gets a transaction header id from a sequence */
175 FUNCTION Get_Header_Id RETURN NUMBER;
176 
177 /* Set packaged variables */
178 PROCEDURE Set_Vars;
179 
180 /* Users might do a split in which the resulting quantities add up to
181    less than the starting quantities.  In this case, we need an extra
182    resulting record */
183 PROCEDURE Create_Extra_Record(
184 	P_header_Id IN NUMBER,
185 	x_err_code       OUT NOCOPY NUMBER,
186  	x_err_msg       OUT NOCOPY VARCHAR2   );
187 
188 /* This procedure will populate MTL_MATERIAL_TRANSACTIONS_TEMP
189    and LOTS_TEMP */
190 PROCEDURE Create_Mtl_Records(
191 	P_Header_id IN NUMBER, -- added by bala.
192 	P_Header_Id1 IN NUMBER,
193 	P_Transaction_Id IN NUMBER,
194 	P_Transaction_Type IN NUMBER,
195 	x_err_code       OUT NOCOPY NUMBER,
196 	x_err_msg       OUT NOCOPY VARCHAR2
197 	);
198 
199 PROCEDURE Misc_Issue
200 (
201 	X_Header_Id1 IN NUMBER,
202 	X_Inventory_Item_Id IN NUMBER,
203 	X_Organization_id IN NUMBER,
204 	X_Quantity IN NUMBER,
205 	X_Acct_Period_Id IN NUMBER,
206 	X_Lot_Number IN VARCHAR2,
207 	X_Subinventory IN VARCHAR2,
208 	X_Locator_Id IN NUMBER,
209 	X_Revision IN VARCHAR2,
210 	X_Reason_Id IN NUMBER,
211 	X_Reference IN VARCHAR2,
212 	X_Transaction_Date IN DATE,
213 	X_Source_Line_Id IN NUMBER,
214 	X_Header_Id 	IN NUMBER, -- added by Bala
215 	x_err_code       OUT NOCOPY NUMBER,
216 	x_err_msg       OUT NOCOPY VARCHAR2
217 );
218 
219 PROCEDURE Misc_Receipt
220 (
221 	X_Header_Id1 IN NUMBER,
222 	X_Inventory_Item_Id IN NUMBER,
223 	X_Organization_id IN NUMBER,
224 	X_Quantity IN NUMBER,
225 	X_Acct_Period_Id IN NUMBER,
226 	X_Lot_Number IN VARCHAR2,
227 	X_Subinventory IN VARCHAR2,
228 	X_Locator_Id IN NUMBER,
229 	X_Revision IN VARCHAR2,
230 	X_Reason_Id IN NUMBER,
231 	X_Reference IN VARCHAR2,
232 	X_Transaction_Date IN DATE,
233 	X_Source_Line_Id IN NUMBER,
234 	X_Header_Id 	IN NUMBER, -- added by Bala
235 	x_lot_attributes_rec IN lot_attributes_rec_type,   -- added by sisankar for  bug 4920235
236 	x_invattr_tbl  IN inv_lot_api_pub.char_tbl,
237 	x_Cattr_tbl  IN inv_lot_api_pub.char_tbl,
238 	x_Dattr_tbl  IN inv_lot_api_pub.date_tbl,
239 	x_Nattr_tbl  IN inv_lot_api_pub.number_tbl,
240 	x_err_code       OUT NOCOPY NUMBER,
241 	x_err_msg       OUT NOCOPY VARCHAR2
242 );
243 
244 /* Launches the inventory transaction worker to process transactions */
245 FUNCTION Launch_Worker (
246 	X_Header_Id1 IN NUMBER,
247 	X_Message OUT NOCOPY VARCHAR2
248 ) RETURN BOOLEAN;
249 
250 /* Sets records to PROCESS_STATUS = COMPLETE */
251 PROCEDURE Success_All(
252 	p_header_id NUMBER,
253 	p_group_id NUMBER,
254 	x_err_code OUT NOCOPY NUMBER,
255  	x_err_msg  OUT NOCOPY VARCHAR2,
256  	p_mode NUMBER); /*Bug 4779518 fix*/
257 
258 /* Sets records to PROCESS_STATUS = ERROR */
259 PROCEDURE Error_All(
260 		p_header_id NUMBER,
261 		p_group_id NUMBER,
262                 p_message VARCHAR2);
263 
264 
265 /*BA#IIIP*/
266 /* Show progress in the logfile if Debug is ON */
267 PROCEDURE showProgress(
268 	processingMode IN NUMBER,
269 	headerId NUMBER,
270 	procName IN VARCHAR2, -- Bug#1844972
271 	procLocation IN NUMBER, -- Bug#1844972
272         showMessage VARCHAR2);
273 
274 /* Create a Log for the user from wsm_interface_errors */
275 PROCEDURE writeToLog(
276 	requestId NUMBER
277         , programId NUMBER
278         , programApplnId NUMBER
279                     );
280 /*EA#IIIP*/
281 
282 /*AM Genealogy Integration */
283 
284 	PROCEDURE enter_genealogy_records       (	p_transaction_id NUMBER ,
285 						p_transaction_type_id NUMBER,
286 						p_header_id NUMBER,
287 						p_process_status NUMBER ,
288 						err_status OUT NOCOPY NUMBER ,
289 						o_err_message OUT NOCOPY VARCHAR );
290 
291 /*AM End Genealogy Integration */
292 
293 
294 END WSMPINVL;