1 PACKAGE CSI_MASS_EDIT_PUB AUTHID CURRENT_USER as
2 /* $Header: csipmees.pls 120.6.12010000.2 2008/11/06 20:26:28 mashah ship $ */
3 -- Start of Comments
4 -- Package name : CSI_MASS_EDIT_PUB
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 -- End of Comments
9
10 -- Default number of records fetch per call
11 G_DEFAULT_NUM_REC_FETCH NUMBER := 30;
12 g_user_id NUMBER := FND_GLOBAL.user_id;
13 g_login_id NUMBER := FND_GLOBAL.login_id;
14
15
16 TYPE mass_edit_rec IS RECORD
17 (
18 entry_id NUMBER := fnd_api.g_miss_num
19 ,name VARCHAR2(50) := fnd_api.g_miss_char
20 ,txn_line_id NUMBER := fnd_api.g_miss_num
21 ,txn_line_detail_id NUMBER := fnd_api.g_miss_num
22 ,status_code VARCHAR2(30) := fnd_api.g_miss_char
23 ,batch_type VARCHAR2(30) := fnd_api.g_miss_char
24 ,description VARCHAR2(2000):= fnd_api.g_miss_char
25 ,schedule_date DATE := fnd_api.g_miss_date
26 ,start_date DATE := fnd_api.g_miss_date
27 ,end_date DATE := fnd_api.g_miss_date
28 ,object_version_number NUMBER := fnd_api.g_miss_num
29 ,system_cascade VARCHAR2(1) := fnd_api.g_miss_char
30 );
31
32 TYPE mass_edit_tbl IS TABLE OF mass_edit_rec INDEX BY BINARY_INTEGER;
33
34 TYPE mass_edit_inst_rec is RECORD
35 (
36 TXN_LINE_DETAIL_ID NUMBER := fnd_api.g_miss_num
37 ,INSTANCE_ID NUMBER := fnd_api.g_miss_num
38 ,ACTIVE_END_DATE DATE := fnd_api.g_miss_date
39 ,OBJECT_VERSION_NUMBER NUMBER := fnd_api.g_miss_num
40 );
41
42 TYPE mass_edit_inst_tbl IS TABLE OF mass_edit_inst_rec INDEX BY BINARY_INTEGER;
43
44 TYPE mass_edit_error_rec IS RECORD
45 (
46 ENTRY_ID NUMBER := FND_API.G_MISS_NUM ,
47 TXN_LINE_DETAIL_ID NUMBER := FND_API.G_MISS_NUM ,
48 INSTANCE_ID NUMBER := FND_API.G_MISS_NUM ,
49 ERROR_TEXT VARCHAR2(2000) := FND_API.G_MISS_CHAR,
50 ERROR_CODE VARCHAR2(1) := FND_API.G_MISS_CHAR,
51 NAME VARCHAR2(50) := FND_API.G_MISS_CHAR
52 );
53
54 TYPE mass_edit_error_tbl IS TABLE OF mass_edit_error_rec INDEX BY BINARY_INTEGER;
55
56 TYPE mass_edit_sys_error_rec IS RECORD
57 (
58 ENTRY_ID NUMBER := FND_API.G_MISS_NUM ,
59 BATCH_NAME VARCHAR2(30) := FND_API.G_MISS_CHAR,
60 TXN_LINE_DETAIL_ID NUMBER := FND_API.G_MISS_NUM ,
61 SYSTEM_ID NUMBER := FND_API.G_MISS_NUM ,
62 ERROR_TEXT VARCHAR2(2000) := FND_API.G_MISS_CHAR,
63 ERROR_CODE VARCHAR2(1) := FND_API.G_MISS_CHAR,
64 NAME VARCHAR2(50) := FND_API.G_MISS_CHAR
65 );
66
67 TYPE mass_edit_sys_error_tbl IS TABLE OF mass_edit_sys_error_rec INDEX BY BINARY_INTEGER;
68
69 TYPE Mass_Upd_Rep_Error_Rec IS RECORD
70 (
71 Instance_id NUMBER := FND_API.G_MISS_NUM,
72 Entity_Name VARCHAR2(30) := FND_API.G_MISS_CHAR,
73 Error_Message VARCHAR2(2000) := FND_API.G_MISS_CHAR,
74 ENTRY_ID NUMBER := FND_API.G_MISS_NUM ,
75 TXN_LINE_DETAIL_ID NUMBER := FND_API.G_MISS_NUM ,
76 ERROR_CODE VARCHAR2(1) := FND_API.G_MISS_CHAR,
77 NAME VARCHAR2(50) := FND_API.G_MISS_CHAR
78 );
79
80 TYPE Mass_Upd_Rep_Error_Tbl IS TABLE OF Mass_Upd_Rep_Error_Rec INDEX BY BINARY_INTEGER;
81
82
83 PROCEDURE Initiate_Mass_Edit
84 (
85 errbuf OUT NOCOPY VARCHAR2
86 ,retcode OUT NOCOPY NUMBER
87 ,p_entry_id IN NUMBER
88 );
89
90 /* This is the Procedure for the Concurrent Program that processes the mass edit batch */
91 PROCEDURE Process_mass_edit_batch
92 ( errbuf OUT NOCOPY VARCHAR2
93 ,retcode OUT NOCOPY NUMBER
94 ,p_Entry_id IN NUMBER
95 );
96
97 /*
98 This API is used to Create a new Mass edit Batch
99 */
100
101 PROCEDURE CREATE_MASS_EDIT_BATCH
102 (
103 p_api_version IN NUMBER,
104 p_commit IN VARCHAR2 := fnd_api.g_false,
105 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
106 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
107 px_mass_edit_rec IN OUT NOCOPY csi_mass_edit_pub.mass_edit_rec,
108 px_txn_line_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec ,
109 px_mass_edit_inst_tbl IN OUT NOCOPY csi_mass_edit_pub.mass_edit_inst_tbl,
110 px_txn_line_detail_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_rec,
111 px_txn_party_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
112 px_txn_pty_acct_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
113 px_txn_ext_attrib_vals_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl,
114 x_mass_edit_error_tbl OUT NOCOPY mass_edit_error_tbl,
115 x_return_status OUT NOCOPY VARCHAR2,
116 x_msg_count OUT NOCOPY NUMBER,
117 x_msg_data OUT NOCOPY VARCHAR2
118
119 );
120
121 /*
122 This API is the Update Batch API to update an already existing Mass edit batch
123 It can add, remove, update item instances as well it's child entities in the batch
124 */
125
126 PROCEDURE UPDATE_MASS_EDIT_BATCH (
127 p_api_version IN NUMBER,
128 p_commit IN VARCHAR2 := fnd_api.g_false,
129 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
130 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
131 px_mass_edit_rec IN OUT NOCOPY csi_mass_edit_pub.mass_edit_rec,
132 px_txn_line_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec ,
133 px_mass_edit_inst_tbl IN OUT NOCOPY mass_edit_inst_tbl,
134 px_txn_line_detail_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_rec,
135 px_txn_party_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
136 px_txn_pty_acct_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
137 px_txn_ext_attrib_vals_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl,
138 x_mass_edit_error_tbl OUT NOCOPY mass_edit_error_tbl,
139 x_return_status OUT NOCOPY VARCHAR2,
140 x_msg_count OUT NOCOPY NUMBER,
141 x_msg_data OUT NOCOPY VARCHAR2);
142
143 /*
144 This API can be used to delete the mass udpate batch and all of its transaction details
145 created for that batch
146 */
147
148 PROCEDURE DELETE_MASS_EDIT_BATCH
149 (
150 p_api_version IN NUMBER,
151 p_commit IN VARCHAR2 := fnd_api.g_false,
152 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
153 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
154 p_mass_edit_rec IN mass_edit_rec,
155 x_return_status OUT NOCOPY VARCHAR2,
156 x_msg_count OUT NOCOPY NUMBER,
157 x_msg_data OUT NOCOPY VARCHAR2
158
159 );
160
161 /*
162 This is a wrapper API can be used to delete multiple mass udpate batches and in turn calls the
163 delete_mass_edit_batch API
164 */
165
166 PROCEDURE DELETE_MASS_EDIT_BATCHES
167 (
168 p_api_version IN NUMBER,
169 p_commit IN VARCHAR2 := fnd_api.g_false,
170 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
171 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
172 p_mass_edit_tbl IN mass_edit_tbl,
173 x_return_status OUT NOCOPY VARCHAR2,
174 x_msg_count OUT NOCOPY NUMBER,
175 x_msg_data OUT NOCOPY VARCHAR2
176 );
177
178 /*
179 This API gets all the transaction line details and also the child records for each of
180 these line details, for a given mass edit batch.
181 */
182
183 PROCEDURE GET_MASS_EDIT_DETAILS (
184 p_api_version IN NUMBER,
185 p_commit IN VARCHAR2 := fnd_api.g_false,
186 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
187 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
188 px_mass_edit_rec IN OUT NOCOPY mass_edit_rec,
189 x_txn_line_detail_tbl OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl ,
190 x_txn_party_detail_tbl OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
191 x_txn_pty_acct_detail_tbl OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
192 x_txn_ext_attrib_vals_tbl OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl,
193 x_return_status OUT NOCOPY VARCHAR2,
194 x_msg_count OUT NOCOPY NUMBER ,
195 x_msg_data OUT NOCOPY VARCHAR2);
196
197 /*----------------------------------------------------*/
198 /* Procedure name: PROCESS_SYSTEM_MASS_UPDATE */
199 /* Description : procedure used to update System in */
200 /* mass update batch */
201 /*----------------------------------------------------*/
202
203 PROCEDURE PROCESS_SYSTEM_MASS_UPDATE
204 (
205 p_api_version IN NUMBER
206 ,p_commit IN VARCHAR2 := fnd_api.g_false
207 ,p_Entry_id IN NUMBER
208 ,p_instance_tbl IN OUT NOCOPY csi_datastructures_pub.instance_tbl
209 ,p_ext_attrib_values_tbl IN OUT NOCOPY csi_datastructures_pub.extend_attrib_values_tbl
210 ,p_party_tbl IN OUT NOCOPY csi_datastructures_pub.party_tbl
211 ,p_account_tbl IN OUT NOCOPY csi_datastructures_pub.party_account_tbl
212 ,p_txn_rec IN OUT NOCOPY csi_datastructures_pub.transaction_rec
213 ,x_return_status OUT NOCOPY VARCHAR2
214 ,x_msg_count OUT NOCOPY NUMBER
215 ,x_msg_data OUT NOCOPY VARCHAR2
216 );
217
218 /*----------------------------------------------------*/
219 /* Procedure name: IDENTIFY_SYSTEM_FOR_UPDATE */
220 /* Description : procedure used to identifies System for */
221 /* mass update batch */
222 /*----------------------------------------------------*/
223 PROCEDURE IDENTIFY_SYSTEM_FOR_UPDATE (
224 p_txn_line_id IN NUMBER
225 ,p_upd_system_tbl OUT NOCOPY csi_datastructures_pub.mu_systems_tbl
226 ,x_return_status OUT NOCOPY VARCHAR2);
227
228 /*----------------------------------------------------*/
229 /* Procedure name: VALIDATE_SYSTEM_BATCH */
230 /* Description : procedure to validate systems before*/
231 /* before mass update */
232 /*----------------------------------------------------*/
233 PROCEDURE VALIDATE_SYSTEM_BATCH (
234 p_entry_id IN NUMBER
235 ,p_txn_line_id IN NUMBER
236 ,p_upd_system_tbl IN csi_datastructures_pub.mu_systems_tbl
237 ,x_return_status OUT NOCOPY VARCHAR2);
238
239 End CSI_MASS_EDIT_PUB;