DBA Data[Home] [Help]

PACKAGE: APPS.INV_TXN_MANAGER_PUB

Source


1 PACKAGE INV_TXN_MANAGER_PUB AS
2 /* $Header: INVTXMGS.pls 120.7.12000000.1 2007/01/17 16:33:06 appldev ship $ */
3 /*#
4  * This package contains the Inventory Transactions Process wrapper which
5  * calls the Inventory Transaction Manager to process records in the material
6  * transaction interface table.
7  * @rep:scope public
8  * @rep:product INV
9  * @rep:lifecycle active
10  * @rep:displayname Material Transaction
11  * @rep:category BUSINESS_ENTITY INV_MATERIAL_TRANSACTION
12  */
13    TYPE Line_REC_Type IS RECORD (
14      TRANSACTION_INTERFACE_ID       mtl_transactions_interface.transaction_interface_id%TYPE
15      ,TRANSACTION_HEADER_ID   mtl_transactions_interface.transaction_HEADER_id%TYPE
16      ,REQUEST_ID               mtl_transactions_interface.REQUEST_id%TYPE
17      ,INVENTORY_ITEM_ID        mtl_transactions_interface.inventory_item_id%TYPE
18      ,ORGANIZATION_ID          mtl_transactions_interface.organization_id%TYPE
19      ,SUBINVENTORY_CODE        mtl_transactions_interface.SUBINVENTORY_CODE%TYPE
20      ,TRANSFER_ORGANIZATION    mtl_transactions_interface.TRANSFER_ORGANIZATION%TYPE
21      ,TRANSFER_SUBINVENTORY    mtl_transactions_interface.TRANSFER_SUBINVENTORY%TYPE
22      ,TRANSACTION_UOM          mtl_transactions_interface.TRANSACTION_UOM%TYPE
23      ,TRANSACTION_DATE         mtl_transactions_interface.TRANSACTION_DATE%TYPE
24      ,TRANSACTION_QUANTITY     mtl_transactions_interface.TRANSACTION_QUANTITY%TYPE
25      ,LOCATOR_ID               mtl_transactions_interface.LOCATOR_ID%TYPE
26      ,TRANSFER_LOCATOR         mtl_transactions_interface.TRANSFER_LOCATOR%TYPE
27      ,TRANSACTION_SOURCE_ID    mtl_transactions_interface.TRANSACTION_SOURCE_ID%TYPE
28      ,TRANSACTION_SOURCE_TYPE_ID     mtl_transactions_interface.TRANSACTION_SOURCE_TYPE_ID%TYPE
29      ,TRANSACTION_ACTION_ID    mtl_transactions_interface.TRANSACTION_ACTION_ID%TYPE
30      ,TRANSACTION_TYPE_ID      mtl_transactions_interface.TRANSACTION_TYPE_ID%TYPE
31      ,DISTRIBUTION_ACCOUNT_ID  mtl_transactions_interface.DISTRIBUTION_ACCOUNT_ID%TYPE
32      ,SHIPPABLE_FLAG           mtl_transactions_interface.SHIPPABLE_FLAG%TYPE
33      ,ROWID                          VARCHAR(31)
34      ,NEW_AVERAGE_COST         mtl_transactions_interface.NEW_AVERAGE_COST%TYPE
35      ,VALUE_CHANGE             mtl_transactions_interface.VALUE_CHANGE%TYPE
36      ,PERCENTAGE_CHANGE        mtl_transactions_interface.PERCENTAGE_CHANGE%TYPE
37      ,MATERIAL_ACCOUNT         mtl_transactions_interface.MATERIAL_ACCOUNT%TYPE
38      ,MATERIAL_OVERHEAD_ACCOUNT      mtl_transactions_interface.MATERIAL_OVERHEAD_ACCOUNT%TYPE
39      ,RESOURCE_ACCOUNT         mtl_transactions_interface.RESOURCE_ACCOUNT%TYPE
40      ,OUTSIDE_PROCESSING_ACCOUNT     mtl_transactions_interface.OUTSIDE_PROCESSING_ACCOUNT%TYPE
41      ,OVERHEAD_ACCOUNT         mtl_transactions_interface.OVERHEAD_ACCOUNT%TYPE
42      ,REQUISITION_LINE_ID      mtl_transactions_interface.REQUISITION_LINE_ID%TYPE
43      ,OVERCOMPLETION_TRANSACTION_QTY mtl_transactions_interface.OVERCOMPLETION_TRANSACTION_QTY%TYPE
44      ,END_ITEM_UNIT_NUMBER     mtl_transactions_interface.END_ITEM_UNIT_NUMBER%TYPE
45      ,SCHEDULED_PAYBACK_DATE   mtl_transactions_interface.SCHEDULED_PAYBACK_DATE%TYPE
46      ,REVISION                 mtl_transactions_interface.REVISION%TYPE
47      ,ORG_COST_GROUP_ID        mtl_transactions_interface.ORG_COST_GROUP_ID%TYPE
48      ,COST_TYPE_ID             mtl_transactions_interface.COST_TYPE_ID%TYPE
49      ,PRIMARY_QUANTITY         mtl_transactions_interface.PRIMARY_QUANTITY%TYPE
50      ,SOURCE_LINE_ID           mtl_transactions_interface.SOURCE_LINE_ID%TYPE
51      ,PROCESS_FLAG             mtl_transactions_interface.PROCESS_FLAG%TYPE
52      ,TRANSACTION_SOURCE_NAME  mtl_transactions_interface.TRANSACTION_SOURCE_NAME%TYPE
53      ,TRX_SOURCE_DELIVERY_ID   mtl_transactions_interface.TRX_SOURCE_DELIVERY_ID%TYPE
54      ,TRX_SOURCE_LINE_ID       mtl_transactions_interface.TRX_SOURCE_LINE_ID%TYPE
55      ,PARENT_ID         mtl_transactions_interface.PARENT_ID%TYPE
56      ,TRANSACTION_BATCH_ID     mtl_transactions_interface.TRANSACTION_BATCH_ID%TYPE
57      ,TRANSACTION_BATCH_SEQ    mtl_transactions_interface.TRANSACTION_BATCH_SEQ%TYPE
58      -- INVCONV start fabdi
59      ,SECONDARY_TRANSACTION_QUANTITY mtl_transactions_interface.SECONDARY_TRANSACTION_QUANTITY%TYPE
60      ,SECONDARY_UOM_CODE             mtl_transactions_interface.SECONDARY_UOM_CODE%TYPE
61      -- INVCONV end fabdi
62      ,SHIP_TO_LOCATION_ID      mtl_transactions_interface.SHIP_TO_LOCATION_ID%TYPE --eIB Build; Bug# 4348541
63      ,TRANSFER_PRICE           mtl_transactions_interface.TRANSFER_PRICE%TYPE
64         -- OPM INVCONV umoogala For Process-Discrete Xfers Enh.
65      -- Pawan  11th july added wip_entity_type
66      ,WIP_ENTITY_TYPE          mtl_transactions_interface.WIP_ENTITY_TYPE%TYPE
67      /*Bug 5392366. Added the following two columns. */
68      ,COMPLETION_TRANSACTION_ID mtl_transactions_interface.COMPLETION_TRANSACTION_ID%TYPE
69      ,MOVE_TRANSACTION_ID       mtl_transactions_interface.MOVE_TRANSACTION_ID%TYPE
70    );
71 
72 
73    TYPE line_Tbl_Type IS TABLE OF line_Rec_Type;
74 
75 
76    -----------------------------------------------------------------------
77    -- Global Constants for Transaction Processing Mode
78    -- There are the values the column TRANSACTION_MODE in MTI/MMTT/MMT
79    -- could have and their meanings. The columns determines 2 things
80    --   1) the source of the transaction record (MTI or MMTT)
81    --   2) mode of processing (Online, Asyncronous, Background)
82    -----------------------------------------------------------------------
83    PROC_MODE_MMTT_ONLINE    CONSTANT NUMBER :=  1 ;
84    PROC_MODE_MMTT_ASYNC     CONSTANT NUMBER :=  2 ;
85    PROC_MODE_MMTT_BGRND     CONSTANT NUMBER :=  3 ;
86    PROC_MODE_MTI            CONSTANT NUMBER :=  8 ;
87 
88    -----------------------------------------------------------------------
89    -- Please note that other constants used in the Transaction Manager are
90    -- defined in package INV_GLOBALS  and TrxTypes.java
91    -----------------------------------------------------------------------
92 
93 
94    -----------------------------------------------------------------------
95    -- Name : validate_group
96    -- Desc : Validate a group of MTI records in a batch together.
97    --          This is called from process_transaction() when TrxMngr processes
98    --          a batch of records
99    -- I/P params :
100    --     p_header_id : transaction_header_id
101    -----------------------------------------------------------------------
102    PROCEDURE validate_group(p_header_id NUMBER
103                                 ,x_return_status OUT NOCOPY VARCHAR2
104                                 ,x_msg_count OUT NOCOPY NUMBER
105                                 ,x_msg_data OUT NOCOPY VARCHAR2
106                                 ,p_userid NUMBER DEFAULT -1
107 			    ,p_loginid NUMBER DEFAULT -1);
108 
109 
110 
111    -----------------------------------------------------------------------
112    -- Name : validate_lines (wrapper)
113    -- Desc : Validate each record of a batch in MTI .
114    --        This procedure acts as a wrapper and calls the inner validate_lines.
115    --
116    -- I/P params :
117    --     p_header_id : transaction_header_id
118    --     p_validation_level : Validation level
119    -----------------------------------------------------------------------
120    PROCEDURE validate_lines(p_header_id NUMBER,
121                            p_commit VARCHAR2 := fnd_api.g_false     ,
122                            p_validation_level NUMBER  := fnd_api.g_valid_level_full  ,
123                            x_return_status OUT NOCOPY VARCHAR2,
124                            x_msg_count OUT NOCOPY NUMBER,
125                            x_msg_data OUT NOCOPY VARCHAR2,
126                            p_userid NUMBER DEFAULT -1,
127                            p_loginid NUMBER DEFAULT -1,
128                            p_applid NUMBER DEFAULT NULL,
129                            p_progid NUMBER DEFAULT NULL);
130 
131 
132    -----------------------------------------------------------------------
133    -- Name : validate_lines (inner)
134    -- Desc : Validate a record in MTI .
135    --        This procedure is called from process_transaction() when TrxMngr
136    --        processes a batch of records in MTI
137    --
138    -- I/P params :
139    --     p_line_Rec_Type : MTI record type
140    -----------------------------------------------------------------------
141    PROCEDURE validate_lines(p_line_Rec_Type line_Rec_type,
142                            p_commit VARCHAR2 := fnd_api.g_false     ,
143                            p_validation_level NUMBER  := fnd_api.g_valid_level_full  ,
144                            p_error_flag OUT NOCOPY VARCHAR2,
145                            p_userid NUMBER DEFAULT -1,
146                            p_loginid NUMBER DEFAULT -1,
147                            p_applid NUMBER DEFAULT NULL,
148                            p_progid NUMBER DEFAULT NULL);
149 
150    -----------------------------------------------------------------------
151    -- Name : post_temp_validation
152    -- Desc : Validations on a transaction record after moving to MMTT
153    --        This procedure is called from process_transaction()
154    --
155    -- I/P params :
156    --     p_line_rec_type : MTI record type
157    -----------------------------------------------------------------------
158    FUNCTION post_temp_validation(p_line_rec_type line_rec_type
159                                    , p_val_req NUMBER
160                                    , p_userid NUMBER DEFAULT -1
161                                    , p_flow_schedule NUMBER
162 				   , p_lot_number VARCHAR2 DEFAULT NULL -- Added for bug 4377625
163                                    ) RETURN BOOLEAN;
164 
165 
166    -----------------------------------------------------------------------
167    -- Name : get_open_period
168    -- Desc : Determine Account PeriodId based on organization and transaction-date
169    --        This procedure is called from validate_lines()
170    --
171    -- I/P params :
172    --     p_org_id     : Org Id
173    --     p_trans_date : Transaction Date
174    -----------------------------------------------------------------------
175    FUNCTION get_open_period(p_org_id NUMBER
176                                  ,p_trans_date DATE
177                                  ,p_chk_date NUMBER) RETURN NUMBER;
178 
179 
180    -----------------------------------------------------------------------
181    -- Name : process_Transactions
182    -- Desc : This procedure is the interface API to the INV Transaction Manager.
183    --        It is called to process a batch of transaction_records .
184    --
185    -- I/P Params :
186    --     p_table      : Source of transaction records
187    --                      ( 1 == MTI,  2 == MMTT)
188    --     p_header_id  : Transaction Header Id
189    --     p_commit     : commit after processing or not
190    -- O/P Params :
191    --     x_trans_count : count of transaction records processed
192    --
193    -----------------------------------------------------------------------
194 /*#
195  * This function is the interface procedure to the Inventory Transaction Manager
196  * to validate and process a batch of material transaction interface records.
197  * @param p_api_version API Version of this procedure. Current version is 1.0
198  * @param p_init_msg_list fnd_api.g_false or fnd_api.g_true is passed as input to determine whether to Initialize message list or not
199  * @param p_commit Indicates whether to commit the changes after successful processing
200  * @param p_validation_level Indicates whether or not to perform a full validation
201  * @param x_return_status Returns the status to indicate success or failure of execution
202  * @param x_msg_count Returns number of error message in the error message stack in case of failure
203  * @param x_msg_data Returns the error message in case of failure
204  * @param x_trans_count The count of material transaction interface records processed.
205  * @param p_table Source of transaction records with value 1 of material transaction interface table and value 2 of material transaction temp table
206  * @param p_header_id Transaction header id
207  * @return Returns the status with value 0 to indicate successful processing and value -1 to indicate failure processing
208  * @rep:scope public
209  * @rep:lifecycle active
210  * @rep:displayname Process Material transaction interface records
211  */
212    FUNCTION process_Transactions(
213           p_api_version         IN     NUMBER            ,
214           p_init_msg_list       IN      VARCHAR2 := fnd_api.g_false     ,
215           p_commit              IN      VARCHAR2 := fnd_api.g_false     ,
216           p_validation_level    IN      NUMBER   := fnd_api.g_valid_level_full  ,
217           x_return_status       OUT     NOCOPY VARCHAR2                        ,
218           x_msg_count           OUT     NOCOPY NUMBER                          ,
219           x_msg_data            OUT     NOCOPY VARCHAR2                        ,
220           x_trans_count         OUT     NOCOPY NUMBER                          ,
221           p_table               IN      NUMBER := 1                     ,
222           p_header_id           IN      NUMBER  )
223       RETURN NUMBER;
224 
225 
226    -----------------------------------------------------------------------
227    -- Name : tmpinsert
228    -- Desc : Move a transaction record from MTI to MMTT
229    --        This procedure is called from process_transaction()
230    --
231    -- I/P params :
232    --     p_rowid     : rowid of record in MTI Id
233    --
234    -----------------------------------------------------------------------
235    FUNCTION tmpinsert(p_header_id IN NUMBER)
236      RETURN BOOLEAN;
237 
238 
239 
240 
241    -----------------------------------------------------------------------
242    -- Name : rel_reservations_mrp_update
243    -- Desc : Relieve reservation for a transaction and update MRP tables for
244    --         a transaction record in MMTT.
245    --        This procedure is called from BaseTransaction.java
246    --
247    -- I/P params :
248    --    p_header_id           : transaction_header_id in MMTT
249    --    p_transaction_temp_id : transaction_temp_id in MMTT
250    -----------------------------------------------------------------------
251    -- Bug 4764790: passing the transaction id for relieving
252    -- reservations along with the serial numbers
253    PROCEDURE rel_reservations_mrp_update
254      (p_header_id IN NUMBER,
255       p_transaction_temp_id IN NUMBER,
256       p_transaction_id NUMBER DEFAULT NULL,
257       p_res_sts OUT NOCOPY VARCHAR2,
258       p_res_msg OUT NOCOPY VARCHAR2,
259       p_res_count OUT NOCOPY NUMBER,
260       p_mrp_status OUT NOCOPY VARCHAR2);
261 
262   FUNCTION mrp_ship_order (
263     p_disposition_id    NUMBER
264   , p_inv_item_id       NUMBER
265   , p_quantity          NUMBER
266   , p_last_updated_by   NUMBER
270   , p_demand_class      VARCHAR2
267   , p_org_id            NUMBER
268   , p_line_num          VARCHAR2
269   , p_shipment_date     DATE
271   ) RETURN BOOLEAN;
272 
273 END INV_TXN_MANAGER_PUB;