DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PS_GENERIC_PUB

Source


1 PACKAGE BODY igs_ps_generic_pub AS
2 /* $Header: IGSPS89B.pls 120.1 2005/09/08 15:53:18 appldev noship $ */
3 
4 
5 G_PKG_NAME     CONSTANT VARCHAR2(30) := 'igs_ps_generic_pub';
6 
7 PROCEDURE psp_import (
8 p_api_version			      IN           NUMBER,
9 p_init_msg_list			      IN           VARCHAR2 ,
10 p_commit			      IN           VARCHAR2 ,
11 p_validation_level		      IN           NUMBER,
12 x_return_status			      OUT NOCOPY   VARCHAR2,
13 x_msg_count			      OUT NOCOPY   NUMBER,
14 x_msg_data			      OUT NOCOPY   VARCHAR2,
15 p_calling_context		      IN           VARCHAR2,
16 p_unit_ver_rec			      IN OUT NOCOPY unit_ver_rec_type,
17 p_unit_tr_tbl			      IN OUT NOCOPY unit_tr_tbl_type,
18 p_unit_dscp_tbl			      IN OUT NOCOPY unit_dscp_tbl_type,
19 p_unit_gs_tbl			      IN OUT NOCOPY unit_gs_tbl_type,
20 p_usec_tbl			      IN OUT NOCOPY usec_tbl_type,
21 p_usec_gs_tbl			      IN OUT NOCOPY usec_gs_tbl_type,
22 p_uso_tbl			      IN OUT NOCOPY uso_tbl_type,
23 p_unit_ref_tbl			      IN OUT NOCOPY unit_ref_tbl_type,
24 p_uso_ins_tbl			      IN OUT NOCOPY uso_ins_tbl_type,
25 p_usec_occurs_facility_tbl	      IN OUT NOCOPY usec_occurs_facility_tbl_type,
26 p_usec_teach_resp_ovrd_tbl	      IN OUT NOCOPY usec_teach_resp_ovrd_tbl_type,
27 p_usec_notes_tbl		      IN OUT NOCOPY usec_notes_tbl_type,
28 p_usec_assmnt_tbl		      IN OUT NOCOPY usec_assmnt_tbl_type,
29 p_usec_plus_hr_tbl		      IN OUT NOCOPY usec_plus_hr_tbl_type,
30 p_usec_cat_tbl			      IN OUT NOCOPY usec_cat_tbl_type,
31 p_usec_rule_tbl			      IN OUT NOCOPY usec_rule_tbl_type,
32 p_usec_cross_group_tbl		      IN OUT NOCOPY usec_cross_group_tbl_type,
33 p_usec_meet_with_tbl		      IN OUT NOCOPY usec_meet_with_tbl_type,
34 p_usec_waitlist_tbl		      IN OUT NOCOPY usec_waitlist_tbl_type,
35 p_usec_res_seat_tbl		      IN OUT NOCOPY usec_res_seat_tbl_type,
36 p_usec_sp_fee_tbl		      IN OUT NOCOPY usec_sp_fee_tbl_type,
37 p_usec_ret_tbl			      IN OUT NOCOPY usec_ret_tbl_type,
38 p_usec_ret_dtl_tbl		      IN OUT NOCOPY usec_ret_dtl_tbl_type,
39 p_usec_enr_dead_tbl		      IN OUT NOCOPY usec_enr_dead_tbl_type,
40 p_usec_enr_dis_tbl		      IN OUT NOCOPY usec_enr_dis_tbl_type,
41 p_usec_teach_resp_tbl		      IN OUT NOCOPY usec_teach_resp_tbl_type,
42 p_usec_ass_item_grp_tbl		      IN OUT NOCOPY usec_ass_item_grp_tbl_type,
43 p_usec_status			      OUT NOCOPY VARCHAR2,
44 p_usec_gs_status		      OUT NOCOPY VARCHAR2,
45 p_uso_status			      OUT NOCOPY VARCHAR2,
46 p_uso_ins_status		      OUT NOCOPY VARCHAR2,
47 p_uso_facility_status		      OUT NOCOPY VARCHAR2,
48 p_unit_ref_status		      OUT NOCOPY VARCHAR2,
49 p_usec_teach_resp_ovrd_status	      OUT NOCOPY VARCHAR2,
50 p_usec_notes_status		      OUT NOCOPY VARCHAR2,
51 p_usec_assmnt_status		      OUT NOCOPY VARCHAR2,
52 p_usec_plus_hr_status		      OUT NOCOPY VARCHAR2,
53 p_usec_cat_status		      OUT NOCOPY VARCHAR2,
54 p_usec_rule_status		      OUT NOCOPY VARCHAR2,
55 p_usec_cross_group_status	      OUT NOCOPY VARCHAR2,
56 p_usec_meet_with_status		      OUT NOCOPY VARCHAR2,
57 p_usec_waitlist_status		      OUT NOCOPY VARCHAR2,
58 p_usec_res_seat_status		      OUT NOCOPY VARCHAR2,
59 p_usec_sp_fee_status		      OUT NOCOPY VARCHAR2,
60 p_usec_ret_status		      OUT NOCOPY VARCHAR2,
61 p_usec_ret_dtl_status		      OUT NOCOPY VARCHAR2,
62 p_usec_enr_dead_status		      OUT NOCOPY VARCHAR2,
63 p_usec_enr_dis_status		      OUT NOCOPY VARCHAR2,
64 p_usec_teach_resp_status	      OUT NOCOPY VARCHAR2,
65 p_usec_ass_item_grp_status	      OUT NOCOPY VARCHAR2 ) AS
66 /***********************************************************************************************
67 Created By:         Sanjeeb Rakshit
68 Date Created By:    25-May-2005
69 Purpose:            This is a public API to import data from external system to OSS.
70 Known limitations,enhancements,remarks:
71 
72 Change History
73 
74 Who         When           What
75 ***********************************************************************************************/
76 
77 
78 l_api_name      CONSTANT VARCHAR2(30) := 'psp_import';
79 l_api_version   CONSTANT NUMBER := 1.0;
80 
81 BEGIN
82   --Standard start of API savepoint
83   SAVEPOINT psp_import_PUB;
84 
85   --Standard call to check for call compatibility
86   IF NOT FND_API.Compatible_API_Call(l_api_version ,
87                                      p_api_version ,
88                                      l_api_name    ,
89                                      G_PKG_NAME) THEN
90     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
91   END IF;
92 
93   --Initialize message list if p_init_msg_list is set to TRUE
94   IF FND_API.to_Boolean(p_init_msg_list) THEN
95     FND_MSG_PUB.initialize;
96   END IF;
97 
98 
99   --API body
100   IF p_calling_context NOT IN ('L','S','G') THEN
101     FND_MESSAGE.SET_NAME('IGS','IGS_PS_INVALID_VALUE_CONTEXT');
102     FND_MSG_PUB.ADD;
103     RAISE FND_API.G_EXC_ERROR;
104   END IF;
105 
106   IF p_calling_context = 'L' THEN
107 
108     --Call the Legacy Private API
109     igs_ps_unit_lgcy_pvt.create_unit
110      (
111        p_api_version      => p_api_version,
112        p_init_msg_list    => p_init_msg_list,
113        p_commit           => p_commit,
114        p_validation_level => p_validation_level,
115        p_unit_ver_rec     => p_unit_ver_rec,
116        p_unit_tr_tbl      => p_unit_tr_tbl,
117        p_unit_dscp_tbl    => p_unit_dscp_tbl,
118        p_unit_gs_tbl      => p_unit_gs_tbl,
119        p_usec_tbl         => p_usec_tbl,
120        p_usec_gs_tbl      => p_usec_gs_tbl,
121        p_uso_tbl          => p_uso_tbl,
122        p_unit_ref_tbl     => p_unit_ref_tbl,
123        p_uso_ins_tbl      => p_uso_ins_tbl,
124        x_return_status    => x_return_status,
125        x_msg_count        => x_msg_count,
126        x_msg_data         => x_msg_data
127       );
128 
129   ELSE
130 
131     --Call the Scheduling/Generic Private API
132     igs_ps_generic_pvt.psp_import
133     (
134       p_api_version                   => p_api_version,
135       p_init_msg_list                 => p_init_msg_list,
136       p_commit                        => p_commit,
137       p_validation_level              => p_validation_level,
138       x_return_status	              => x_return_status,
139       x_msg_count	              => x_msg_count,
140       x_msg_data	              => x_msg_data,
141       p_calling_context	              => p_calling_context,
142       p_usec_tbl		      => p_usec_tbl,
143       p_usec_gs_tbl		      => p_usec_gs_tbl,
144       p_uso_tbl			      => p_uso_tbl,
145       p_unit_ref_tbl		      => p_unit_ref_tbl,
146       p_uso_ins_tbl		      => p_uso_ins_tbl,
147       p_usec_occurs_facility_tbl      => p_usec_occurs_facility_tbl,
148       p_usec_teach_resp_ovrd_tbl      => p_usec_teach_resp_ovrd_tbl,
149       p_usec_notes_tbl		      => p_usec_notes_tbl,
150       p_usec_assmnt_tbl		      => p_usec_assmnt_tbl,
151       p_usec_plus_hr_tbl	      => p_usec_plus_hr_tbl,
152       p_usec_cat_tbl		      => p_usec_cat_tbl,
153       p_usec_rule_tbl		      => p_usec_rule_tbl,
154       p_usec_cross_group_tbl	      => p_usec_cross_group_tbl,
155       p_usec_meet_with_tbl	      => p_usec_meet_with_tbl,
156       p_usec_waitlist_tbl	      => p_usec_waitlist_tbl,
157       p_usec_res_seat_tbl	      => p_usec_res_seat_tbl,
158       p_usec_sp_fee_tbl		      => p_usec_sp_fee_tbl,
159       p_usec_ret_tbl		      => p_usec_ret_tbl,
160       p_usec_ret_dtl_tbl	      => p_usec_ret_dtl_tbl,
161       p_usec_enr_dead_tbl	      => p_usec_enr_dead_tbl,
162       p_usec_enr_dis_tbl	      => p_usec_enr_dis_tbl,
163       p_usec_teach_resp_tbl	      => p_usec_teach_resp_tbl,
164       p_usec_ass_item_grp_tbl	      => p_usec_ass_item_grp_tbl,
165       p_usec_status		      => p_usec_status ,
166       p_usec_gs_status		      => p_usec_gs_status,
167       p_uso_status	              => p_uso_status,
168       p_uso_ins_status	              => p_uso_ins_status,
169       p_uso_facility_status	      => p_uso_facility_status,
170       p_unit_ref_status	              => p_unit_ref_status,
171       p_usec_teach_resp_ovrd_status   => p_usec_teach_resp_ovrd_status,
172       p_usec_notes_status	      => p_usec_notes_status,
173       p_usec_assmnt_status	      => p_usec_assmnt_status,
174       p_usec_plus_hr_status	      => p_usec_plus_hr_status,
175       p_usec_cat_status	              => p_usec_cat_status,
176       p_usec_rule_status	      => p_usec_rule_status,
177       p_usec_cross_group_status       => p_usec_cross_group_status,
178       p_usec_meet_with_status	      => p_usec_meet_with_status,
179       p_usec_waitlist_status	      => p_usec_waitlist_status,
180       p_usec_res_seat_status	      => p_usec_res_seat_status,
181       p_usec_sp_fee_status	      => p_usec_sp_fee_status,
182       p_usec_ret_status	              => p_usec_ret_status,
183       p_usec_ret_dtl_status	      => p_usec_ret_dtl_status,
184       p_usec_enr_dead_status	      => p_usec_enr_dead_status,
185       p_usec_enr_dis_status	      => p_usec_enr_dis_status,
186       p_usec_teach_resp_status	      => p_usec_teach_resp_status,
187       p_usec_ass_item_grp_status      => p_usec_ass_item_grp_status
188      );
189 
190   END IF;
191 
192 
193 EXCEPTION
194     WHEN FND_API.G_EXC_ERROR THEN
195         ROLLBACK TO psp_import_PUB;
196         x_return_status := FND_API.G_RET_STS_ERROR;
197         FND_MSG_PUB.Count_And_Get( p_count  => x_msg_count ,
198                                    p_data   => x_msg_data );
199     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
200         ROLLBACK TO psp_import_PUB;
201         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
202         FND_MSG_PUB.Count_And_Get( p_count  => x_msg_count ,
203                                    p_data   => x_msg_data );
204     WHEN OTHERS THEN
205         ROLLBACK TO psp_import_PUB;
206         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
207         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
208           FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
209                                    l_api_name);
210         END IF;
211         FND_MSG_PUB.Count_And_Get( p_count  => x_msg_count ,
212                                    p_data   => x_msg_data );
213 
214 END psp_import;
215 
216 END igs_ps_generic_pub;