1 PACKAGE INV_TXN_MANAGER_GRP AS
2 /* $Header: INVTXGGS.pls 120.4.12010000.1 2008/07/24 01:50:07 appldev ship $ */
3
4
5 -----------------------------------------------------------------------
6 -- Global Constants for Transaction Processing Mode
7 -- There are the values the column TRANSACTION_MODE in MTI/MMTT/MMT
8 -- could have and their meanings. The columns determines 2 things
9 -- 1) the source of the transaction record (MTI or MMTT)
10 -- 2) mode of processing (Online, Asyncronous, Background)
11 -----------------------------------------------------------------------
12 PROC_MODE_MMTT_ONLINE CONSTANT NUMBER := 1 ;
13 PROC_MODE_MMTT_ASYNC CONSTANT NUMBER := 2 ;
14 PROC_MODE_MMTT_BGRND CONSTANT NUMBER := 3 ;
15 PROC_MODE_MTI CONSTANT NUMBER := 8 ;
16
17 -----------------------------------------------------------------------
18 -- Please note that other constants used in the Transaction Manager are
19 -- defined in package INV_GLOBALS and TrxTypes.java
20 -----------------------------------------------------------------------
21 ---------------------------------------------------------------
22 --- added this variable here to it can used in the public api.
23 gi_flow_schedule NUMBER := 0 ;
24 ---------------------------------------------------------------
25
26 ----------------------------------------------------------------------------------------
27 -- Added this type for holding Serial Attributes for Serialized Lot Items
28 --
29 TYPE lot_sel_index_attr_tbl_type is TABLE OF INV_LOT_SEL_ATTR.LOT_SEL_ATTRIBUTES_REC_TYPE
30 INDEX BY VARCHAR2(50);
31 -----------------------------------------------------------------------------------------
32
33 -----------------------------------------------------------------------
34 -- Name : validate_group
35 -- Desc : Validate a group of MTI records in a batch together.
36 -- This is called from process_transaction() when TrxMngr processes
37 -- a batch of records
38 -- I/P params :
39 -- p_header_id : transaction_header_id
40 -----------------------------------------------------------------------
41 PROCEDURE validate_group(p_header_id NUMBER
42 ,x_return_status OUT NOCOPY VARCHAR2
43 ,x_msg_count OUT NOCOPY NUMBER
44 ,x_msg_data OUT NOCOPY VARCHAR2
45 ,p_userid NUMBER DEFAULT -1
46 ,p_loginid NUMBER DEFAULT -1
47 ,p_validation_level NUMBER:= fnd_api.g_valid_level_full );
48
49
50 -----------------------------------------------------------------------
51 -- Name : validate_lines (wrapper)
52 -- Desc : Validate each record of a batch in MTI .
53 -- This procedure acts as a wrapper and calls the inner validate_lines.
54 --
55 -- I/P params :
56 -- p_header_id : transaction_header_id
57 -- p_validation_level : Validation level
58 -----------------------------------------------------------------------
59 PROCEDURE validate_lines(p_header_id NUMBER,
60 p_commit VARCHAR2 := fnd_api.g_false ,
61 p_validation_level NUMBER := fnd_api.g_valid_level_full ,
62 x_return_status OUT NOCOPY VARCHAR2,
63 x_msg_count OUT NOCOPY NUMBER,
64 x_msg_data OUT NOCOPY VARCHAR2,
65 p_userid NUMBER DEFAULT -1,
66 p_loginid NUMBER DEFAULT -1,
67 p_applid NUMBER DEFAULT NULL,
68 p_progid NUMBER DEFAULT NULL);
69
70
71 -----------------------------------------------------------------------
72 -- Name : validate_lines (inner)
73 -- Desc : Validate a record in MTI .
74 -- This procedure is called from process_transaction() when TrxMngr
75 -- processes a batch of records in MTI
76 --
77 -- I/P params :
78 -- p_line_Rec_Type : MTI record type
79 -----------------------------------------------------------------------
80 PROCEDURE validate_lines(p_line_Rec_Type inv_txn_manager_pub.line_Rec_type,
81 p_commit VARCHAR2 := fnd_api.g_false ,
82 p_validation_level NUMBER := fnd_api.g_valid_level_full ,
83 p_error_flag OUT NOCOPY VARCHAR2,
84 p_userid NUMBER DEFAULT -1,
85 p_loginid NUMBER DEFAULT -1,
86 p_applid NUMBER DEFAULT NULL,
87 p_progid NUMBER DEFAULT NULL);
88
89
90 -----------------------------------------------------------------------
91 -- Name : get_open_period
92 -- Desc : Determine Account PeriodId based on organization and transaction-date
93 -- This procedure is called from validate_lines()
94 --
95 -- I/P params :
96 -- p_org_id : Org Id
97 -- p_trans_date : Transaction Date
98 -----------------------------------------------------------------------
99 FUNCTION get_open_period(p_org_id NUMBER
100 ,p_trans_date DATE
101 ,p_chk_date NUMBER) RETURN NUMBER;
102
103 /******************************************************************
104 -- Procedure
105 -- getitemid
106 -- Description
107 -- find the item_id using the flex field segments
108 -- Output Parameters
109 -- x_item_id locator or null if error occurred
110 ******************************************************************/
111 FUNCTION getitemid(x_itemid out NOCOPY NUMBER, p_orgid NUMBER, p_rowid VARCHAR2)
112 RETURN BOOLEAN;
113
114 /******************************************************************
115 -- Procedure
116 -- getacctid
117 -- Description
118 -- find the acct_id using the flex field segments
119 -- Output Parameters
120 -- x_acct_id
121 ******************************************************************/
122 FUNCTION getacctid(x_acctid OUT NOCOPY NUMBER, p_orgid IN NUMBER, p_rowid IN VARCHAR2)
123 RETURN BOOLEAN;
124 /******************************************************************
125 -- Function
126 -- getlocid
127 -- Description
128 -- find the locator using the flex field segments
129 -- Calls private function getLoc to do the work
130 -- Output Parameters
131 -- x_locator locator or null if error occurred
132 ******************************************************************/
133 FUNCTION getlocid(x_locid OUT NOCOPY NUMBER, p_org_id NUMBER, p_subinv
134 VARCHAR2, p_rowid VARCHAR2, p_locctrl NUMBER) return
135 BOOLEAN ;
136
137
138 /******************************************************************
139 -- Procedure
140 -- getsrcid
141 -- Description
142 -- find the Source ID using the flex field segments
143 -- Output Parameters
144 -- x_trxsrc transaction source id or null if error occurred
145 ******************************************************************/
146 FUNCTION getsrcid(x_trxsrc OUT NOCOPY NUMBER, p_srctype IN NUMBER, p_orgid IN NUMBER, p_rowid IN VARCHAR2)
147 RETURN BOOLEAN;
148
149
150 -----------------------------------------------------------------------
151 -- Name : Validate_Transactions
152 -- Desc : This procedure is used to validate record inserted in MYI
153 --through desktop forms AND moved TO mmtt. it does NOT call the
154 -- transaction manager TO process the transactions.
155 -- It is called to validate a batch of transaction_records .
156 --
157 -- I/P Params :
158 -- p_header_id : Transaction Header Id
159 -- O/P Params :
160 -- x_trans_count : count of transaction records validate
161 --History
162 -- Jalaj Srivastava Bug 5155661
163 -- Add new parameter p_free_tree
164 -----------------------------------------------------------------------
165 FUNCTION Validate_Transactions(
166 p_api_version IN NUMBER ,
167 p_init_msg_list IN VARCHAR2 := fnd_api.g_false ,
168 p_validation_level IN NUMBER := fnd_api.g_valid_level_full ,
169 p_header_id IN NUMBER ,
170 x_return_status OUT NOCOPY VARCHAR2 ,
171 x_msg_count OUT NOCOPY NUMBER ,
172 x_msg_data OUT NOCOPY VARCHAR2 ,
173 x_trans_count OUT NOCOPY NUMBER ,
174 p_free_tree IN VARCHAR2 := fnd_api.g_true )
175 RETURN NUMBER;
176
177
178 -----------------------------------------------------------------------
179 -- Name : tmpinsert
180 -- Desc : Move a transaction record from MTI to MMTT
181 -- This procedure is called from process_transaction()
182 --
183 -- I/P params :
184 -- p_rowid : rowid of record in MTI Id
185 --
186 -----------------------------------------------------------------------
187 FUNCTION tmpinsert(p_header_id IN NUMBER,
188 p_validation_level IN NUMBER := fnd_api.g_valid_level_full )
189 RETURN BOOLEAN;
190
191
192 -----------------------------------------------------------------------
193 -- Name : tmpinsert2
194 -- Desc : Move a transaction record from (MTI, MSNI) to (MMTT, MSNT)
195 -- specifically for lot transactions(Split/Merge/Translate).
196 -- This procedure is called from process_transaction()
197 --
198 -- I/P params :
199 -- p_header_id : header_id of the record in MTI.
200 --
201 -----------------------------------------------------------------------
202
203 PROCEDURE tmpinsert2 (
204 x_return_status OUT NOCOPY VARCHAR2
205 , x_msg_count OUT NOCOPY NUMBER
206 , x_msg_data OUT NOCOPY VARCHAR2
207 , x_validation_status OUT NOCOPY VARCHAR2
208 , p_header_id IN NUMBER
209 , p_validation_level IN NUMBER := fnd_api.g_valid_level_full
210 );
211
212 -----------------------------------------------------------------------
213 -- Name : Validate_Additional_Attr
214 -- Desc : This procedure is used to validate additonal lot
215 -- opm attributes added part of invconv project
216 -- I/P Params :
217 -- All the relevant transaction details :
218 -- - organization id
219 -- - item_id
220 -- - lot
221 --
222 -- O/P Params :
223 -- see below ..
224 -- RETURN VALUE :
225 -- TRUE : IF all the attributes are validated correctly
226 -- FALSE : IF one attributes check fails
227 --
228 -----------------------------------------------------------------------
229 FUNCTION Validate_Additional_Attr(
230 p_api_version IN NUMBER
231 , p_init_msg_list IN VARCHAR2 := fnd_api.g_false
232 , p_validation_level IN NUMBER := fnd_api.g_valid_level_full
233 , p_intid IN NUMBER
234 , p_rowid IN VARCHAR2
235 , p_inventory_item_id IN NUMBER
236 , p_organization_id IN NUMBER
237 , p_lot_number IN VARCHAR2
238 , p_grade_code IN OUT NOCOPY VARCHAR2
239 , p_retest_date IN OUT NOCOPY DATE
240 , p_maturity_date IN OUT NOCOPY DATE
241 , p_parent_lot_number IN OUT NOCOPY VARCHAR2
242 , p_origination_date IN OUT NOCOPY DATE
243 , p_origination_type IN OUT NOCOPY NUMBER
244 , p_expiration_action_code IN OUT NOCOPY VARCHAR2
245 , p_expiration_action_date IN OUT NOCOPY DATE
246 , p_expiration_date IN OUT NOCOPY DATE
247 , p_hold_date IN OUT NOCOPY DATE
248 , p_reason_id IN OUT NOCOPY NUMBER
249 , p_copy_lot_attribute_flag IN VARCHAR2
250 , x_return_status OUT NOCOPY VARCHAR2
251 , x_msg_count OUT NOCOPY NUMBER
252 , x_msg_data OUT NOCOPY VARCHAR2)
253 RETURN BOOLEAN;
254
255 --
256 -- Name: GET_SERIAL_DIFF_WRP
257 -- Desc: This is a wrapper call to inv_serial_number_pub.get_serial_diff.
258 -- This function returns serial count as 0, if invalid range is passed.
259 --
260 -- Input parameters:
261 -- p_fm_serial 'from' Serial Number
262 -- p_to_serial 'to' Serial Number
263 --
264 -- Output parameters:
265 -- return_status quantity between passed serial numbers,
266 -- 0 if pased serial numbers are invalid.
267 --
268 FUNCTION get_serial_diff_wrp(p_fm_serial IN VARCHAR2, p_to_serial IN VARCHAR2)
269 RETURN NUMBER;
270
271 END INV_TXN_MANAGER_GRP;