DBA Data[Home] [Help]

PACKAGE: APPS.CSI_ORDER_SHIP_PUB

Source


1 PACKAGE csi_order_ship_pub AUTHID CURRENT_USER AS
2 /* $Header: csipioss.pls 120.7.12020000.2 2012/12/05 10:29:40 mvaradam ship $ */
3 
4 
5   g_pkg_name                constant varchar2(30) := 'csi_order_ship_pub';
6   g_api_name                         varchar2(80) := 'order_shipment';
7 
8   g_txn_type_id                      number;
9   g_dflt_sub_type_id                 number;
10 
11   /*----------------------------------------------------------*/
12   /* Record Name   : model_inst_rec                           */
13   /* Description   : used for keeping the txn_line_detail     */
14   /*                 of the top model instance                */
15   /*----------------------------------------------------------*/
16 
17   TYPE model_inst_rec is RECORD(
18     parent_line_id       NUMBER         := fnd_api.g_miss_num,
19     instance_id          NUMBER         := fnd_api.g_miss_num,
20     rem_qty              NUMBER         := fnd_api.g_miss_num,
21     txn_line_detail_id   NUMBER         := fnd_api.g_miss_num,
22     process_flag         VARCHAR2(1)    := fnd_api.g_miss_char);
23 
24   TYPE model_inst_tbl is TABLE OF model_inst_rec INDEX BY BINARY_INTEGER;
25 
26   /*----------------------------------------------------------*/
27   /* Record name:  MTL_TXN_REC                                */
28   /* Description:  Record used for keeping the source details */
29   /*               of material tansaction                     */
30   /*----------------------------------------------------------*/
31 
32   TYPE MTL_TXN_REC is RECORD(
33     MTL_TRANSACTION_ID        NUMBER         :=  FND_API.G_MISS_NUM,
34     SOURCE_LINE_ID            NUMBER         :=  FND_API.G_MISS_NUM,
35     SOURCE_HEADER_REF_ID      NUMBER         :=  FND_API.G_MISS_NUM,
36     SOURCE_HEADER_REF         VARCHAR2(150)   :=  FND_API.G_MISS_CHAR,  -- Changed for bug#15931790
37     SOURCE_LINE_REF_ID        NUMBER         :=  FND_API.G_MISS_NUM,
38     SOURCE_LINE_REF           VARCHAR2(150)   :=  FND_API.G_MISS_CHAR,  -- Changed for bug#15931790
39     SOURCE_TRANSACTION_DATE   DATE           :=  FND_API.G_MISS_DATE,
40     INV_MATERIAL_TRANSACTION_ID NUMBER       :=  FND_API.G_MISS_NUM );
41 
42   TYPE item_control_rec IS RECORD (
43     inventory_item_id         number       := fnd_api.g_miss_num,
44     organization_id           number       := fnd_api.g_miss_num,
45     ib_trackable_flag         varchar2(1)  := fnd_api.g_miss_char,
46     serial_control_code       number       := fnd_api.g_miss_num,
47     lot_control_code          number       := fnd_api.g_miss_num,
48     revision_control_code     number       := fnd_api.g_miss_num,
49     locator_control_code      number       := fnd_api.g_miss_num,
50     primary_uom_code          varchar2(3)  := fnd_api.g_miss_char,
51     bom_item_type             number       := fnd_api.g_miss_num,
52     model_item_id             number       := fnd_api.g_miss_num,
53     pick_components_flag      varchar2(1)  := fnd_api.g_miss_char,
54     reservable_type           number       := fnd_api.g_miss_num,
55     negative_balances_code    number       := fnd_api.g_miss_num,
56     shippable_flag            varchar2(1)  := fnd_api.g_miss_char,
57     transactable_flag         varchar2(1)  := fnd_api.g_miss_char);
58 
59   /*-----------------------------------------------------------*/
60   /* Record name:  order_shipment_rec                          */
61   /* Description:  Record used for keeping the shipment details*/
62   /*-----------------------------------------------------------*/
63 
64   TYPE order_shipment_rec IS RECORD(
65     line_id                 NUMBER         :=  FND_API.G_MISS_NUM,
66     header_id               NUMBER         :=  FND_API.G_MISS_NUM,
67     txn_line_detail_id      NUMBER         :=  FND_API.G_MISS_NUM,
68     orig_inst_id            NUMBER         :=  FND_API.G_MISS_NUM,
69     instance_id             NUMBER         :=  FND_API.G_MISS_NUM,
70     system_id               NUMBER         :=  FND_API.G_MISS_NUM,
71     instance_qty            NUMBER         :=  FND_API.G_MISS_NUM,
72     party_id                NUMBER         :=  FND_API.G_MISS_NUM,
73     party_source_table      VARCHAR2(30)   :=  FND_API.G_MISS_CHAR,
74     party_account_id        NUMBER         :=  FND_API.G_MISS_NUM,
75     inst_obj_version_number NUMBER         :=  FND_API.G_MISS_NUM,
76     txn_dtls_qty            NUMBER         :=  FND_API.G_MISS_NUM,
77     ord_line_shipped_qty    NUMBER         :=  FND_API.G_MISS_NUM,
78     instance_match          VARCHAR2(1)    :=  FND_API.G_MISS_CHAR,
79     quantity_match          VARCHAR2(1)    :=  FND_API.G_MISS_CHAR,
80     -- Added this for Bug 3384668
81     lot_match               VARCHAR2(1)    :=  FND_API.G_MISS_CHAR,
82     customer_id             NUMBER         :=  FND_API.G_MISS_NUM,
83     inventory_item_id       NUMBER         :=  FND_API.G_MISS_NUM,
84     organization_id         NUMBER         :=  FND_API.G_MISS_NUM,
85     revision                VARCHAR2(30)   :=  FND_API.G_MISS_CHAR,
86     subinventory            VARCHAR2(30)   :=  FND_API.G_MISS_CHAR,
87     locator_id              NUMBER         :=  FND_API.G_MISS_NUM,
88     lot_number              VARCHAR2(80)   :=  FND_API.G_MISS_CHAR,
89     serial_number           VARCHAR2(30)   :=  FND_API.G_MISS_CHAR,
90     transaction_uom         VARCHAR2(30)   :=  FND_API.G_MISS_CHAR,
91     order_quantity_uom      VARCHAR2(30)   :=  FND_API.G_MISS_CHAR,
92     invoice_to_contact_id   NUMBER         :=  FND_API.G_MISS_NUM,
93     invoice_to_org_id       NUMBER         :=  FND_API.G_MISS_NUM,
94     line_type_id            NUMBER         :=  FND_API.G_MISS_NUM,
95     ordered_quantity        NUMBER         :=  FND_API.G_MISS_NUM,
96     ship_to_contact_id      NUMBER         :=  FND_API.G_MISS_NUM,
97     ship_to_org_id          NUMBER         :=  FND_API.G_MISS_NUM,
98     ship_from_org_id        NUMBER         :=  FND_API.G_MISS_NUM,
99     sold_to_org_id          NUMBER         :=  FND_API.G_MISS_NUM,
100     sold_from_org_id        NUMBER         :=  FND_API.G_MISS_NUM,
101     source_line_id          NUMBER         :=  FND_API.G_MISS_NUM,
102     shipped_quantity        NUMBER         :=  FND_API.G_MISS_NUM,
103     ship_to_site_use_id     NUMBER         :=  FND_API.G_MISS_NUM,
104     transaction_type_id     NUMBER         :=  FND_API.G_MISS_NUM,
105     transaction_date        DATE           :=  FND_API.G_MISS_DATE,
106     item_type_code          VARCHAR2(30)   :=  FND_API.G_MISS_CHAR,
107     cust_po_number          VARCHAR2(50)   :=  FND_API.G_MISS_CHAR,
108     ato_line_id             NUMBER         :=  FND_API.G_MISS_NUM,
109     top_model_line_id       NUMBER         :=  FND_API.G_MISS_NUM,
110     link_to_line_id         NUMBER         :=  FND_API.G_MISS_NUM,
111     order_number            number         :=  fnd_api.g_miss_num,
112     line_number             varchar2(30)   :=  fnd_api.g_miss_char,
113     ib_owner                varchar2(30)   :=  fnd_api.g_miss_char,
114     end_customer_id         NUMBER         :=  fnd_api.g_miss_num,
115     deliver_to_org_id       NUMBER         :=  FND_API.G_MISS_NUM,
116     ib_install_loc          VARCHAR2(60)   :=  fnd_api.g_miss_char,
117     ib_install_loc_id       NUMBER         :=  fnd_api.g_miss_num,
118     ib_current_loc          VARCHAR2(60)   :=  fnd_api.g_miss_char,
119     ib_current_loc_id       NUMBER         :=  fnd_api.g_miss_num,
120     source_code             VARCHAR2(30)   :=  fnd_api.g_miss_char); -- Added for Siebel Genesis Project
121 
122   TYPE order_shipment_tbl IS TABLE OF order_shipment_rec  INDEX BY BINARY_INTEGER;
123 
124   /*----------------------------------------------------------*/
125   /* Record name:  order_line_rec                             */
126   /* Description : Record used to keep the order line details */
127   /*----------------------------------------------------------*/
128 
129   TYPE order_line_rec IS RECORD(
130     header_id          NUMBER         :=  FND_API.G_MISS_NUM,
131     order_line_id      NUMBER         :=  FND_API.G_MISS_NUM,
132     om_vld_org_id      NUMBER         :=  fnd_api.g_miss_num,
133     unit_price         NUMBER         :=  fnd_api.g_miss_num,
134     currency_code      varchar2(15)   :=  fnd_api.g_miss_char,
135     inv_item_id        NUMBER         :=  FND_API.G_MISS_NUM,
136     inv_org_id         NUMBER         :=  FND_API.G_MISS_NUM,
137     ordered_item       varchar2(80)   :=  fnd_api.g_miss_char,
138     ordered_quantity   NUMBER         :=  FND_API.G_MISS_NUM,
139     shipped_quantity   NUMBER         :=  FND_API.G_MISS_NUM,
140     fulfilled_quantity NUMBER         :=  FND_API.G_MISS_NUM,
141     trx_sub_type_id    NUMBER         :=  FND_API.G_MISS_NUM,
142     split_ord_line_id  NUMBER         :=  FND_API.G_MISS_NUM,
143     serial_code        NUMBER         :=  FND_API.G_MISS_NUM,
144     internal_party_id  NUMBER         :=  FND_API.G_MISS_NUM,
145     trx_line_id        NUMBER         :=  FND_API.G_MISS_NUM,
146     ato_line_id        NUMBER         :=  FND_API.G_MISS_NUM,
147     top_model_line_id  NUMBER         :=  FND_API.G_MISS_NUM,
148     link_to_line_id    NUMBER         :=  FND_API.G_MISS_NUM,
149     party_id           NUMBER         :=  FND_API.G_MISS_NUM,
150     customer_id        NUMBER         :=  FND_API.G_MISS_NUM,
151     invoice_to_org_id  NUMBER         :=  FND_API.G_MISS_NUM,
152     ship_to_org_id     NUMBER         :=  FND_API.G_MISS_NUM,
153     sold_from_org_id   NUMBER         :=  FND_API.G_MISS_NUM,
154     sold_to_org_id     NUMBER         :=  FND_API.G_MISS_NUM,
155     ship_to_party_site_id   NUMBER    := fnd_api.g_miss_num,
156     item_type_code          VARCHAR2(30)  := FND_API.G_MISS_CHAR,
157     transaction_date        DATE          := FND_API.G_MISS_DATE,
158     order_quantity_uom      VARCHAR2(30)  := FND_API.G_MISS_CHAR,
159     primary_uom             VARCHAR2(30)  := fnd_api.g_miss_char,
160     inv_mtl_transaction_id  NUMBER     := FND_API.G_MISS_NUM ,
161     ship_to_contact_id    NUMBER      := FND_API.G_MISS_NUM,
162     invoice_to_contact_id NUMBER      := FND_API.G_MISS_NUM,
163     agreement_id          NUMBER      := FND_API.g_MISS_NUM,
164     order_number          number      := fnd_api.g_miss_num,
165     line_number           varchar2(30):= fnd_api.g_miss_char,
166     actual_shipment_date  DATE        := FND_API.G_MISS_DATE,
167     fulfillment_date      DATE        := FND_API.G_MISS_DATE,
168     org_id                NUMBER      := fnd_api.g_miss_num,
169     ib_owner              varchar2(60):= fnd_api.g_miss_char,
170     end_customer_id       NUMBER      := fnd_api.g_miss_num,
171     deliver_to_org_id     NUMBER      := FND_API.G_MISS_NUM,
172     ib_install_loc        VARCHAR2(60):= fnd_api.g_miss_char,
173     ib_install_loc_id     NUMBER      := fnd_api.g_miss_num,
174     ib_current_loc        VARCHAR2(60):= fnd_api.g_miss_char,
175     ib_current_loc_id     NUMBER      := fnd_api.g_miss_num,
176     bom_item_type         number      := fnd_api.g_miss_num,
177     reservable_type       number      := fnd_api.g_miss_num,
178     negative_balances_code number     := fnd_api.g_miss_num,
179     mtl_action_id          number     := fnd_api.g_miss_num,
180     mtl_src_type_id        number     := fnd_api.g_miss_num,
181     config_header_id       number     :=  fnd_api.g_miss_num,
182     config_rev_nbr         number     :=  fnd_api.g_miss_num,
183     configuration_id       number     :=  fnd_api.g_miss_num,
184     macd_order_line        varchar2(1):= fnd_api.g_false,
185      --4344316
186     model_remnant_flag     VARCHAR2(1) :=  FND_API.G_MISS_CHAR,
187     source_code            VARCHAR2(30) :=  FND_API.G_MISS_CHAR -- Added for Siebel Genesis Project
188     );
189 
190   /*----------------------------------------------------------*/
191   /* Record name:  txn_sub_type_rec                           */
192   /* Description : Record used to keep the sub type definition*/
193   /*----------------------------------------------------------*/
194 
195   TYPE txn_sub_type_rec IS RECORD(
196     src_chg_owner_code   VARCHAR2(1)    :=  FND_API.G_MISS_CHAR,
197     nsrc_chg_owner_code  VARCHAR2(1)    :=  FND_API.G_MISS_CHAR,
198     src_status_id        NUMBER         :=  FND_API.G_MISS_NUM ,
199     nsrc_status_id       NUMBER         :=  FND_API.G_MISS_NUM ,
200     src_change_owner     VARCHAR2(1)    :=  FND_API.G_MISS_CHAR,
201     nsrc_change_owner    VARCHAR2(1)    :=  FND_API.G_MISS_CHAR,
202     trx_type_id          NUMBER         :=  FND_API.G_MISS_NUM ,
203     sub_type_id          NUMBER         :=  FND_API.G_MISS_NUM ,
204     src_reference_reqd   VARCHAR2(1)    :=  FND_API.G_MISS_CHAR,
205     nsrc_reference_reqd  VARCHAR2(1)    :=  FND_API.G_MISS_CHAR,
206     src_return_reqd      VARCHAR2(1)    :=  FND_API.G_MISS_CHAR,
207     nsrc_return_reqd     VARCHAR2(1)    :=  FND_API.G_MISS_CHAR );
208 
209   /*----------------------------------------------------------*/
210   /* Procedure name: Order_shipment                           */
211   /* Description   : Main Procedure that process the order    */
212   /*               shipment                                   */
213   /*----------------------------------------------------------*/
214 
215   PROCEDURE order_shipment(
216     p_mtl_transaction_id      IN            number,
217     p_message_id              IN            number,
218     x_return_status              OUT NOCOPY varchar2,
219     px_trx_error_rec          IN OUT NOCOPY csi_datastructures_pub.transaction_error_rec);
220 
221   /*----------------------------------------------------------*/
222   /* Procedure name:  get_order_shipment_rec                  */
223   /* Description : Procedure that gets the Shipment record    */
224   /*----------------------------------------------------------*/
225 
226   PROCEDURE get_order_shipment_rec(
227     p_mtl_transaction_id      IN  NUMBER,
228     p_order_line_rec          IN order_line_rec,
229     p_txn_sub_type_rec        IN  txn_sub_type_rec,
230     p_transaction_rec         IN OUT NOCOPY csi_datastructures_pub.transaction_rec,
231     x_order_shipment_tbl      OUT NOCOPY order_shipment_tbl,
232     px_error_rec              IN OUT NOCOPY csi_datastructures_pub.transaction_error_rec,
233     x_return_status           OUT NOCOPY VARCHAR2);
234 
235 
236   /*----------------------------------------------------------*/
237   /* Procedure name:  Build_SHTD_table                        */
238   /* Description : Procedure used to match the shipment with  */
239   /*               txn line details                           */
240   /*----------------------------------------------------------*/
241 
242   PROCEDURE Build_SHTD_table(
243     p_mtl_transaction_id      IN  NUMBER,
244     p_order_line_rec          IN OUT NOCOPY order_line_rec,
245     p_txn_sub_type_rec        IN     txn_sub_type_rec,
246     p_trx_detail_exist        IN     boolean,
247     p_trackable_parent        IN     boolean,
248     p_transaction_rec         IN OUT NOCOPY csi_datastructures_pub.transaction_rec,
249     x_order_shipment_tbl         OUT NOCOPY order_shipment_tbl,
250     px_error_rec              IN OUT NOCOPY csi_datastructures_pub.transaction_error_rec,
251     x_return_status              OUT NOCOPY VARCHAR2);
252 
253   /*----------------------------------------------------------*/
254   /* Procedure name:  Construct_for_txn_exists                */
255   /* Description : Procedure that process the txn line detail */
256   /*               if exists                                  */
257   /*----------------------------------------------------------*/
258   PROCEDURE Construct_for_txn_exists(
259     p_txn_sub_type_rec        IN  txn_sub_type_rec,
260     p_order_line_rec          IN order_line_rec,
261     x_order_shipment_tbl      IN OUT NOCOPY order_shipment_tbl,
262     x_txn_ii_rltns_tbl        IN OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl,
263     x_txn_line_detail_tbl     IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl,
264     x_return_status           OUT NOCOPY VARCHAR2 );
265 
266 
267   /*----------------------------------------------------------*/
268   /* Procedure name:  update_install_base                     */
269   /* Description   :  Procedure that updates the IB from the  */
270   /*                  matched txn line details                */
271   /*----------------------------------------------------------*/
272   PROCEDURE update_install_base(
273     p_api_version             IN NUMBER,
274     p_commit                  IN VARCHAR2 := fnd_api.g_false,
275     p_init_msg_list           IN VARCHAR2 := fnd_api.g_false,
276     p_validation_level        IN NUMBER   := fnd_api.g_valid_level_full,
277     p_txn_line_rec            IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec,
278     p_txn_line_detail_tbl     IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl,
279     p_txn_party_detail_tbl    IN OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
280     p_txn_pty_acct_dtl_tbl    IN OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
281     p_txn_org_assgn_tbl       IN OUT NOCOPY csi_t_datastructures_grp.txn_org_assgn_tbl,
282     p_txn_ext_attrib_vals_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl,
283     p_txn_ii_rltns_tbl        IN OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl,
284     p_txn_systems_tbl         IN OUT NOCOPY csi_t_datastructures_grp.txn_systems_tbl,
285     p_pricing_attribs_tbl     IN OUT NOCOPY csi_datastructures_pub.pricing_attribs_tbl,
289     p_validate_only           IN VARCHAR2,
286     p_order_line_rec          IN order_line_rec,
287     p_trx_rec                 IN csi_datastructures_pub.transaction_rec,
288     p_source                  IN VARCHAR2,
290     px_error_rec              IN OUT NOCOPY csi_datastructures_pub.transaction_error_rec,
291     x_return_status           OUT NOCOPY VARCHAR2,
292     x_msg_count               OUT NOCOPY NUMBER,
293     x_msg_data                OUT NOCOPY VARCHAR2 );
294 
295   /*----------------------------------------------------------*/
296   /* Procedure name:  match_txn_with_ship                     */
297   /* Description   :  Procedure used to do the matching of    */
298   /*  (instance and qty) txn line details and shipment        */
299   /*----------------------------------------------------------*/
300   PROCEDURE match_txn_with_ship(
301     p_serial_code             IN NUMBER,
302     x_txn_line_detail_tbl     IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl,
303     x_order_shipment_tbl      IN OUT NOCOPY order_shipment_tbl,
304     x_return_status           OUT NOCOPY VARCHAR2 );
305 
306   /*----------------------------------------------------------*/
307   /* Procedure name:  process_txn                             */
308   /* Description   :  Procedure used to match the unresolved  */
309   /*                  txn line details and update staus to    */
310   /*                  'IN_PROCESS' so that the txn line dtls  */
311   /*                  are eligible for processing             */
312   /*----------------------------------------------------------*/
313   PROCEDURE process_txn_dtl(
314     p_serial_code             IN NUMBER,
315     p_txn_sub_type_rec        IN  txn_sub_type_rec,
316     p_order_line_rec          IN order_line_rec,
317     x_txn_line_detail_tbl     IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl,
318     x_txn_ii_rltns_tbl        IN csi_t_datastructures_grp.txn_ii_rltns_tbl,
319     x_order_shipment_tbl      IN OUT NOCOPY order_shipment_tbl,
320     x_return_status           OUT NOCOPY VARCHAR2 );
321 
322   /*----------------------------------------------------------*/
323   /* Procedure name:  process_option_item                     */
324   /* Description : Procedure used to create the txn line      */
325   /*      details if it have to be splitted in the qty ratio  */
326   /*      and txn details does not exist                      */
327   /*----------------------------------------------------------*/
328   PROCEDURE process_option_item(
329     p_serial_code             IN NUMBER,
330     p_order_line_rec          IN order_line_rec,
331     p_txn_sub_type_rec        IN  txn_sub_type_rec,
332     p_trackable_parent        IN boolean, 	 --Added for 4548453
333     x_order_shipment_tbl      IN OUT NOCOPY order_shipment_tbl,
334     x_model_inst_tbl          IN OUT NOCOPY model_inst_tbl,
335     x_trx_line_id             OUT NOCOPY NUMBER,
336     x_return_status           OUT NOCOPY VARCHAR2 );
337 
338   /*----------------------------------------------------------*/
339   /* Procedure name:  rebuild_shipping_tbl                    */
340   /* Description : Procedure used to rebuild the shipment     */
341   /*        table if the item type code is config             */
342   /*----------------------------------------------------------*/
343   PROCEDURE rebuild_shipping_tbl(
344     p_qty_ratio               IN NUMBER,
345     x_order_shipment_tbl      IN OUT NOCOPY order_shipment_tbl,
346     x_return_status           OUT NOCOPY VARCHAR2 );
347 
348   /*----------------------------------------------------------*/
349   /* Procedure name:  validate_txn_tbl                        */
350   /* Description : Procedure used to for validationg the      */
351   /*   txn line details and the child tables                  */
352   /*----------------------------------------------------------*/
353   PROCEDURE validate_txn_tbl(
354     p_txn_line_rec            IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec,
355     p_txn_line_detail_tbl     IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl,
356     p_txn_party_detail_tbl    IN OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
357     p_txn_pty_acct_dtl_tbl    IN OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
358     p_txn_ii_rltns_tbl        IN OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl,
359     p_txn_org_assgn_tbl       IN OUT NOCOPY csi_t_datastructures_grp.txn_org_assgn_tbl,
360     p_order_line_rec          IN OUT NOCOPY order_line_rec,
361     p_source                  IN VARCHAR2,
362     x_return_status           OUT NOCOPY VARCHAR2 );
363 
364   /*----------------------------------------------------------*/
365   /* Procedure name:  DECODE_MESSAGE                          */
366   /* Description : Procedure used to decode the messages      */
367   /*----------------------------------------------------------*/
368   PROCEDURE decode_message(
369     p_msg_header      IN  XNP_MESSAGE.Msg_Header_Rec_Type,
370     p_msg_text	      IN  VARCHAR2,
371     x_return_status   OUT NOCOPY VARCHAR2,
372     x_error_message   OUT NOCOPY VARCHAR2,
373     x_mtl_trx_rec     OUT NOCOPY MTL_TXN_REC);
374 
375   PROCEDURE oke_shipment(
376     p_mtl_txn_id           IN            number,
377     x_return_status           OUT NOCOPY varchar2,
378     px_trx_error_rec       IN OUT NOCOPY csi_datastructures_pub.transaction_error_rec);
379 
380   TYPE customer_product_rec IS RECORD(
381     instance_id          number,
382     quantity             number,
383     line_id              number,
384     txn_line_detail_id   number,
385     transaction_id       number,
386     serial_number        varchar2(80),
387     lot_number           varchar2(80));
388 
389   TYPE customer_products_tbl IS TABLE of customer_product_rec INDEX BY binary_integer;
390 
391   PROCEDURE get_comp_instances_from_wip(
392     p_wip_entity_id   IN     number,
393     p_organization_id IN     number,
394     p_cps_tbl         IN     customer_products_tbl,
395     px_csi_txn_rec    IN OUT nocopy csi_datastructures_pub.transaction_rec,
396     x_iir_tbl            OUT nocopy csi_datastructures_pub.ii_relationship_tbl,
397     x_return_status      OUT nocopy varchar2);
398 
399 END csi_order_ship_pub ;