DBA Data[Home] [Help]

PACKAGE: APPS.CSI_MASS_EDIT_PUB

Source


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;