[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;