DBA Data[Home] [Help]

PACKAGE: APPS.CSI_INTERFACE_PKG

Source


1 PACKAGE csi_interface_pkg AS
2 /* $Header: csipitxs.pls 120.3.12010000.2 2008/09/19 18:32:27 rsinn ship $ */
3 
4   g_om_source_table        constant varchar2(30) := 'OE_ORDER_LINES_ALL';
5   g_cz_source_table        constant varchar2(30) := 'CONFIGURATOR';
6   g_oke_source_table       constant varchar2(30) := 'WSH_DELIVERY_DETAILS';
7   g_ship_source_table      constant varchar2(30) := 'WSH_DELIVERY_DETAILS';
8 
9   g_om_txn_type_id         constant number       := 51;
10   g_rma_txn_type_id        constant number       := 53;
11   g_oke_txn_type_id        constant number       := 326;
12   g_macd_txn_type_id       constant number       := 401; --Added for bug 5194812
13 
14   TYPE source_header_rec IS RECORD(
15     source_header_id         number,
16     source_header_ref        varchar2(30),
17     org_id                   number,
18     sold_from_org_id         number,
19     owner_party_account_id   number,
20     agreement_id             number,
21     ship_to_address_id       number,
22     bill_to_address_id       number,
23     ship_to_contact_id       number,
24     bill_to_contact_id       number,
25     cust_po_number           varchar2(50),
26     -- For partner ordering
27     sold_to_org_id           number,
28     deliver_to_org_id        number);
29 
30 
31   TYPE source_line_rec IS RECORD(
32     source_table             varchar2(80),
33     source_line_id           number,
34     source_line_ref          varchar2(30),
35     org_id                   number,
36     sold_from_org_id         number,
37     inventory_item_id        number,
38     organization_id          number,
39     item_revision            varchar2(3),
40     uom_code                 varchar2(3),
41     source_quantity          number,
42     shipped_quantity         number,
43     shipped_date             date,
44     fulfilled_quantity       number,
45     fulfilled_date           date,
46     owner_party_id           number,
47     owner_party_account_id   number,
48     ship_to_address_id       number,
49     bill_to_address_id       number,
50     ship_to_party_site_id    number,
51     agreement_id             number,
52     ship_to_contact_id       number,
53     ship_to_contact_party_id number,
54     bill_to_contact_id       number,
55     bill_to_contact_party_id number,
56     link_to_line_id          number,
57     top_model_line_id        number,
58     ato_line_id              number,
59     item_type_code           varchar2(30),
60     cust_po_number           varchar2(50),
61     config_header_id         number,
62     config_rev_num           number,
63     config_item_id           number,
64     batch_validate_flag      varchar2(1),
65     -- For partner ordering
66     sold_to_org_id           number,
67     deliver_to_org_id        number,
68     ib_current_loc           varchar2(60),
69     ib_current_loc_id        number,
70     ib_install_loc           varchar2(60),
71     ib_install_loc_id        number,
72     install_to_party_site_id number);
73 
74   TYPE source_line_tbl IS TABLE OF source_line_rec INDEX BY BINARY_INTEGER;
75 
76   PROCEDURE get_source_info(
77     p_source_table         IN  varchar2,
78     p_source_id            IN  number,
79     x_source_header_rec    OUT NOCOPY source_header_rec,
80     x_source_line_rec      OUT NOCOPY source_line_rec,
81     x_return_status        OUT NOCOPY varchar);
82 
83   TYPE item_attributes_rec IS RECORD(
84     serial_control_code      number,
85     lot_control_code         number,
86     locator_control_code     number,
87     revision_control_code    number,
88     ib_trackable_flag        varchar2(1),
89     shippable_flag           varchar2(1),
90     inv_item_flag            varchar2(1),
91     stockable_flag           varchar2(1),
92     bom_item_type            number,
93     pick_components_flag     varchar2(1),
94     primary_uom_code         varchar2(8),
95     ato_item_flag            varchar2(1),
96     model_item_id            number,
97     ib_item_instance_class   varchar2(30),
98     config_model_type        varchar2(30),
99     negative_balances_code   number);
100 
101   PROCEDURE get_item_attributes(
102     p_inventory_item_id    IN     number,
103     p_organization_id      IN     number,
104     x_item_attrib_rec         OUT NOCOPY item_attributes_rec,
105     x_return_status           OUT NOCOPY varchar2);
106 
107 
108   /* ------------------------------------------------------------------- */
109   /* use the source information and build a default transaction detail  */
110   /* ------------------------------------------------------------------- */
111 
112   -- this routine also splits the txn_line_detail based on the srl cntrl flag
113   -- and also based on the parent/child ratio so that the instance are
114   -- based on the number of txn line detail records
115 
116   -- also cascades the transaction details from its parent having txn details
117 
118   PROCEDURE build_default_txn_detail(
119     p_source_table         IN     varchar2,
120     p_source_id            IN     number,
121     p_source_header_rec    IN     source_header_rec,
122     p_source_line_rec      IN     source_line_rec,
123     p_csi_txn_rec          IN     csi_datastructures_pub.transaction_rec,
124     px_txn_line_rec        IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec,
125     x_txn_line_detail_tbl     OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl,
126     x_txn_party_tbl           OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
127     x_txn_party_acct_tbl      OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
128     x_txn_org_assgn_tbl       OUT NOCOPY csi_t_datastructures_grp.txn_org_assgn_tbl,
129     x_pricing_attribs_tbl     OUT NOCOPY csi_datastructures_pub.pricing_attribs_tbl,
130     x_return_status           OUT NOCOPY varchar2);
131 
132 
133   /* ------------------------------------------------------------------- */
134   /* this routine is to rebuild the user entered transaction detail with */
135   /* the addition of all the defaults like contacts, org assignments etc.*/
136   /* ------------------------------------------------------------------- */
137 
138   -- rebuild also splits the transaction detail bases on the serial control
139   -- flag or the based on the parent/child ratios.
140 
141   -- for shipping we might want to pass the mtl_txn_table based on which we should
142   -- re-build the txn detail table
143 
144   PROCEDURE rebuild_txn_detail(
145     p_source_table         IN     varchar2,
146     p_source_id            IN     number,
147     p_source_header_rec    IN     source_header_rec,
148     p_source_line_rec      IN     source_line_rec,
149     p_csi_txn_rec          IN     csi_datastructures_pub.transaction_rec,
150     px_txn_line_rec        IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec,
151     px_txn_line_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl,
152     px_txn_party_tbl       IN OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
153     px_txn_party_acct_tbl  IN OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
154     px_txn_org_assgn_tbl   IN OUT NOCOPY csi_t_datastructures_grp.txn_org_assgn_tbl,
155     x_pricing_attribs_tbl     OUT NOCOPY csi_datastructures_pub.pricing_attribs_tbl,
156     x_return_status           OUT NOCOPY varchar2);
157 
158 
159   PROCEDURE get_cz_txn_details(
160     p_config_session_key   IN  csi_utility_grp.config_session_key,
161     x_txn_line_rec         OUT NOCOPY csi_t_datastructures_grp.txn_line_rec,
162     x_txn_line_dtl_tbl     OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl,
163     x_txn_party_tbl        OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
164     x_txn_party_acct_tbl   OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
165     x_txn_org_assgn_tbl    OUT NOCOPY csi_t_datastructures_grp.txn_org_assgn_tbl,
166     x_txn_ii_rltns_tbl     OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl,
167     x_txn_eav_tbl          OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl,
168     x_return_status        OUT NOCOPY varchar2);
169 
170   PROCEDURE get_config_keys_for_order(
171     p_header_id            IN  number,
172     x_config_session_keys  OUT NOCOPY csi_utility_grp.config_session_keys,
173     x_return_status        OUT NOCOPY varchar2);
174 
175   PROCEDURE get_cz_relations(
176     p_source_header_rec    IN  source_header_rec,
177     p_source_line_rec      IN  source_line_rec,
178     px_txn_line_rec        IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec,
179     px_txn_line_dtl_tbl    IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl,
180     x_txn_ii_rltns_tbl     OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl,
181     x_txn_eav_tbl          OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl,
182     x_return_status        OUT NOCOPY varchar2);
183 
184   /* this routine takes the source line info and the current entered source txn
185      line detail info and builds the non source relation based on the source table
186      information
187 
188        . if it is for the config line then it would read the config txn detail to read
189          the relationship and builds them to the corresponding source line detail
190          entered in the order line level
191 
192        . if it is for the fulfillment/shipment then it reads the parent and child
193          information from the order line and builds the parent and the child relation
194          for the current order line being processed
195 
196    */
197 
198   PROCEDURE get_relations(
199     p_source_id            IN     number,
200     p_source_table         IN     varchar2,
201     p_source_header_rec    IN     source_header_rec,
202     p_source_line_rec      IN     source_line_rec,
203     px_txn_line_rec        IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec,
204     px_txn_line_dtl_tbl    IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl,
205     x_txn_ii_rltns_tbl        OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl,
206     x_txn_eav_tbl             OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl,
207     x_return_status           OUT NOCOPY varchar2);
208 
209   PROCEDURE get_extended_attrib_values(
210     p_source_id            IN     number,
211     p_source_table         IN     varchar2,
212     p_source_header_rec    IN     source_header_rec,
213     p_source_line_rec      IN     source_line_rec,
214     px_txn_line_dtl_tbl    IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl,
215     x_txn_eav_tbl             OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl,
216     x_return_status           OUT NOCOPY varchar2);
217 
218   PROCEDURE get_order_line_source_info(
219     p_order_line_id           IN  number,
220     x_source_header_rec       OUT NOCOPY source_header_rec,
221     x_source_line_rec         OUT NOCOPY source_line_rec,
222     x_return_status           OUT NOCOPY varchar2);
223 
224   PROCEDURE dump_instance_key(
225     p_instance_key            IN  csi_utility_grp.config_instance_key);
226 
227   PROCEDURE dump_instance_keys(
228     p_instance_keys           IN  csi_utility_grp.config_instance_keys);
229 
230   /*
231   PROCEDURE dump_instance_keys(
232     p_instance_keys           IN  csi_utility_grp.config_instance_keys)
233   IS
234     l_rec    csi_utility_grp.config_instance_key;
235   BEGIN
236     IF p_instance_keys.COUNT > 0 THEN
237       FOR l_ind IN p_instance_keys.FIRST .. p_instance_keys.LAST
238       LOOP
239         l_rec := p_instance_keys(l_ind);
240         csi_t_gen_utility_pvt.add('Instance rec: #'||l_ind);
241         csi_t_gen_utility_pvt.add('  inst_hdr_id              :'||l_rec.inst_hdr_id
242         csi_t_gen_utility_pvt.add('  inst_item_id             :'||l_rec.inst_item_id
243         csi_t_gen_utility_pvt.add('  inst_rev_num             :'||l_rec.inst_rev_num
244         csi_t_gen_utility_pvt.add('  inst_baseline_rev_num    :'||l_rec.inst_baseline_rev_num
245       END LOOP;
246     END IF;
247   END dump_instance_keys;
248   */
249 
250   PROCEDURE interface_ib(
251     p_source_header_rec    IN     csi_interface_pkg.source_header_rec,
252     p_source_line_rec      IN     csi_interface_pkg.source_line_rec,
253     px_csi_txn_rec         IN OUT NOCOPY csi_datastructures_pub.transaction_rec,
254     px_txn_line_rec        IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec,
255     px_txn_line_dtl_tbl    IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl,
256     px_txn_party_tbl       IN OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
257     px_txn_party_acct_tbl  IN OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
258     px_txn_org_assgn_tbl   IN OUT NOCOPY csi_t_datastructures_grp.txn_org_assgn_tbl,
259     px_txn_eav_tbl         IN OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl,
260     px_txn_ii_rltns_tbl    IN OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl,
261     px_pricing_attribs_tbl IN OUT NOCOPY csi_datastructures_pub.pricing_attribs_tbl,
262     x_return_status           OUT NOCOPY varchar2,
263     x_return_message          OUT NOCOPY varchar2);
264 
265   FUNCTION check_MACD_processing(
266     p_config_session_key      IN csi_utility_grp.config_session_key,
267     x_return_status           OUT NOCOPY varchar2)
268   RETURN boolean;
269 
270   TYPE mtl_txn_rec IS RECORD(
271     trx_source_line_id       number,
272     inventory_item_id        number,
273     organization_id          number,
274     revision                 varchar2(30),
275     subinventory_code        varchar2(80),
276     locator_id               number,
277     lot_number               varchar2(80),
278     serial_number            varchar2(80),
279     transaction_quantity     number,
280     transaction_uom          varchar2(3),
281     transaction_date         date,
282     lot_control_code         number,
283     serial_control_code      number,
284     primary_uom              varchar2(3),
285     primary_quantity         number,
286     transaction_type_id      number,
287     transaction_action_id    number,
288     src_serial_flag          varchar2(1),
289     dest_serial_flag         varchar2(1),
290     create_update_flag       varchar2(1),
291     match_flag               varchar2(1) := 'N',
292     instance_id              number,
293     negative_instance_flag   varchar2(1) := 'N',
294     object_version_num       number);
295 
296   TYPE mtl_txn_tbl IS TABLE OF mtl_txn_rec INDEX BY BINARY_INTEGER;
297 
298   PROCEDURE process_cz_txn_details(
299     p_config_session_keys  IN  csi_utility_grp.config_session_keys,
300     p_instance_id          IN  number,
301     x_instance_tbl         OUT NOCOPY csi_datastructures_pub.instance_tbl,
302     x_return_status        OUT NOCOPY varchar2);
303 
304   -- following routines are for processing mtl transactions
305 
306   PROCEDURE get_mtl_txn_tbl(
307     p_mtl_txn_id    IN  number,
308     x_mtl_txn_tbl   OUT NOCOPY mtl_txn_tbl,
309     x_return_status OUT NOCOPY varchar2);
310 
311   PROCEDURE pre_process_mtl_txn_tbl(
312     p_item_attrib_rec IN     item_attributes_rec,
313     px_mtl_txn_tbl    IN OUT NOCOPY mtl_txn_tbl,
314     x_return_status      OUT NOCOPY varchar2);
315 
316   PROCEDURE get_inventory_instances(
317     p_item_attrib_rec IN     item_attributes_rec,
318     px_mtl_txn_tbl    IN OUT NOCOPY mtl_txn_tbl,
319     x_return_status      OUT NOCOPY varchar2);
320 
321   PROCEDURE decrement_inventory_instances(
322     p_item_attrib_rec IN     item_attributes_rec,
323     p_mtl_txn_tbl     IN OUT NOCOPY mtl_txn_tbl,
324     px_txn_rec        IN OUT NOCOPY csi_datastructures_pub.transaction_rec,
325     x_return_status      OUT NOCOPY varchar2);
326 
327   PROCEDURE sync_txn_dtl_and_mtl_txn(
328     p_mtl_txn_tbl         IN     mtl_txn_tbl,
329     p_item_attrib_rec     IN     item_attributes_rec,
330     px_txn_line_dtl_tbl   IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl,
331     px_txn_party_dtl_tbl  IN OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
332     px_txn_party_acct_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
333     px_txn_org_assgn_tbl  IN OUT NOCOPY csi_t_datastructures_grp.txn_org_assgn_tbl,
334     px_txn_eav_tbl        IN OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl,
335     px_txn_ii_rltns_tbl   IN OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl,
336     x_return_status          OUT NOCOPY varchar2);
337 
338   FUNCTION check_standard_bom_pc(
339     p_instance_id         IN NUMBER,
340     p_std_item_rec        IN csi_datastructures_pub.instance_rec,
341     p_bom_item_type       IN NUMBER)
342   RETURN  boolean;
343 
344   PROCEDURE build_relationship_tbl(
345     p_txn_ii_rltns_tbl  IN    csi_t_datastructures_grp.txn_ii_rltns_tbl,
346     p_txn_line_dtl_tbl  IN    csi_t_datastructures_grp.txn_line_detail_tbl,
347     x_c_ii_rltns_tbl    OUT NOCOPY   csi_datastructures_pub.ii_relationship_tbl,
348     x_u_ii_rltns_tbl    OUT NOCOPY   csi_datastructures_pub.ii_relationship_tbl,
349     x_return_status     OUT NOCOPY   varchar2);
350 
351 END csi_interface_pkg;