[Home] [Help]
PACKAGE BODY: APPS.CSI_EAM_INTERFACE_GRP
Source
1 PACKAGE BODY csi_eam_interface_grp AS
2 /* $Header: csigeamb.pls 120.2 2005/10/07 11:35:35 brmanesh noship $ */
3
4
5 PROCEDURE debug(p_message IN varchar2) IS
6 BEGIN
7 csi_t_gen_utility_pvt.add(p_message);
8 EXCEPTION
9 WHEN others THEN
10 null;
11 END debug;
12
13 PROCEDURE wip_completion(
14 p_wip_entity_id IN number,
15 p_organization_id IN number,
16 x_return_status OUT nocopy varchar2,
17 x_error_message OUT nocopy varchar2)
18 IS
19 l_message_id number;
20 l_error_code number;
21 l_error_message varchar2(4000);
22 l_bypass_flag varchar2(1);
23 l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
24 l_error_rec csi_datastructures_pub.transaction_error_rec;
25 publish_error exception;
26 BEGIN
27
28 x_return_status := fnd_api.g_ret_sts_success;
29
30 csi_t_gen_utility_pvt.build_file_name(
31 p_file_segment1 => 'csiinv',
32 p_file_segment2 => 'hook');
33
34 debug('START IB integration from EAM process :'||to_char(sysdate,'DD-MON-YYYY HH24:MI:SS'));
35 debug(' wip_entity_id : '||p_wip_entity_id);
36 debug(' organization_id : '||p_organization_id);
37
38 IF csi_datastructures_pub.g_install_param_rec.fetch_flag IS NULL THEN
39 csi_gen_utility_pvt.populate_install_param_rec;
40 END IF;
41
42 l_bypass_flag := nvl(csi_datastructures_pub.g_install_param_rec.sfm_queue_bypass_flag, 'N');
43 debug(' bypass flag : '||l_bypass_flag);
44
45 l_error_rec.source_type := 'CSIEAMWC';
46 l_error_rec.source_id := p_wip_entity_id;
47 l_error_rec.source_header_ref_id := p_wip_entity_id;
48 l_error_rec.source_line_ref_id := p_organization_id;
49 l_error_rec.transaction_type_id := 92;
50 l_error_rec.processed_flag := 'E';
51
52 IF l_bypass_flag = 'N' THEN
53
54 debug(' publishing message CSIEAMWC for '||p_wip_entity_id);
55
56 XNP_CSIEAMWC_U.publish(
57 xnp$wip_entity_id => p_wip_entity_id,
58 xnp$organization_id => p_organization_id,
59 x_message_id => l_message_id,
60 x_error_code => l_error_code,
61 x_error_message => l_error_message);
62
63 IF l_error_message is not null THEN
64 RAISE publish_error;
65 END IF;
66
67 ELSE
68
69 debug(' bypassing the SFM Queue for CSIEAMWC '||p_wip_entity_id);
70
71 csi_wip_trxs_pkg.eam_wip_completion(
72 p_wip_entity_id => p_wip_entity_id,
73 p_organization_id => p_organization_id,
74 px_trx_error_rec => l_error_rec,
75 x_return_status => l_return_status);
76
77 IF l_return_status <> fnd_api.g_ret_sts_success THEN
78 RAISE fnd_api.g_exc_error;
79 END IF;
80
81 END IF;
82
83 EXCEPTION
84 WHEN fnd_api.g_exc_error THEN
85 csi_inv_trxs_pkg.log_csi_error(l_error_rec);
86 x_return_status := fnd_api.g_ret_sts_success;
87 WHEN publish_error THEN
88 csi_inv_trxs_pkg.log_csi_error(l_error_rec);
89 x_return_status := fnd_api.g_ret_sts_success;
90 END wip_completion;
91
92
93 PROCEDURE rebuildable_return(
94 p_wip_entity_id IN number,
95 p_organization_id IN number,
96 p_instance_id IN number,
97 x_return_status OUT nocopy varchar2,
98 x_error_message OUT nocopy varchar2)
99 IS
100 l_message_id number;
101 l_error_code number;
102 l_error_message varchar2(4000);
103 l_inventory_item_id number;
104 l_bypass_flag varchar2(1);
105 l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
106 l_error_rec csi_datastructures_pub.transaction_error_rec;
107 publish_error exception;
108 BEGIN
109
110 x_return_status := fnd_api.g_ret_sts_success;
111
112 csi_t_gen_utility_pvt.build_file_name(
113 p_file_segment1 => 'csiinv',
114 p_file_segment2 => 'hook');
115
116 debug('START IB integration from EAM process :'||to_char(sysdate,'DD-MON-YYYY HH24:MI:SS'));
117 debug(' wip_entity_id : '||p_wip_entity_id);
118 debug(' organization_id : '||p_organization_id);
119
120 IF csi_datastructures_pub.g_install_param_rec.fetch_flag IS NULL THEN
121 csi_gen_utility_pvt.populate_install_param_rec;
122 END IF;
123
124 l_bypass_flag := nvl(csi_datastructures_pub.g_install_param_rec.sfm_queue_bypass_flag, 'N');
125
126 debug(' bypass flag : '||l_bypass_flag);
127
128 l_error_rec.source_type := 'CSIEAMRR';
129 l_error_rec.source_id := p_instance_id;
130 l_error_rec.source_header_ref_id := p_wip_entity_id;
131 l_error_rec.source_line_ref_id := p_organization_id;
132 l_error_rec.transaction_type_id := 93;
133 l_error_rec.processed_flag := 'E';
134
135 IF l_bypass_flag = 'N' THEN
136
137 debug(' publishing message CSIEAMRR for '||p_instance_id);
138
139 XNP_CSIEAMRR_U.publish(
140 xnp$wip_entity_id => p_wip_entity_id,
141 xnp$organization_id => p_organization_id,
142 xnp$instance_id => p_instance_id,
143 x_message_id => l_message_id,
144 x_error_code => l_error_code,
145 x_error_message => l_error_message);
146
147 IF l_error_message is not null THEN
148 RAISE publish_error;
149 END IF;
150
151 ELSE
152
153 debug(' bypassing the SFM Queue for CSIEAMRR '||p_instance_id);
154
155 csi_wip_trxs_pkg.eam_rebuildable_return(
156 p_wip_entity_id => p_wip_entity_id,
157 p_organization_id => p_organization_id,
158 p_instance_id => p_instance_id,
159 px_trx_error_rec => l_error_rec,
160 x_return_status => l_return_status);
161
162 IF l_return_status <> fnd_api.g_ret_sts_success THEN
163 RAISE fnd_api.g_exc_error;
164 END IF;
165
166 END IF;
167
168 EXCEPTION
169 WHEN fnd_api.g_exc_error THEN
170 csi_inv_trxs_pkg.log_csi_error(l_error_rec);
171 x_return_status := fnd_api.g_ret_sts_success;
172 WHEN publish_error THEN
173 csi_inv_trxs_pkg.log_csi_error(l_error_rec);
174 x_return_status := fnd_api.g_ret_sts_success;
175 END rebuildable_return;
176
177 END csi_eam_interface_grp;