[Home] [Help]
PACKAGE BODY: APPS.PA_RBS_ASGMT_PUB
Source
1 PACKAGE BODY PA_RBS_ASGMT_PUB AS
2 /* $Header: PARASGPB.pls 120.0 2005/06/03 17:53:25 appldev noship $*/
3
4 -- Standard who
5 g_last_updated_by NUMBER(15) := FND_GLOBAL.USER_ID;
6 g_last_update_date DATE := SYSDATE;
7 g_creation_date DATE := SYSDATE;
8 g_created_by NUMBER(15) := FND_GLOBAL.USER_ID;
9 -- g_last_update_login NUMBER(15) := FND_GLOBAL.LOG_ID;
10
11 /**************************************************************
12 * Procedure : Create_RBS_Assignment
13 * Description : The purpose of this procedure is to associate
14 * an RBS to a project for any of the 4 uasges:-
15 * Reporting, Financial Plan, Workplan and
16 * Program Reporting.
17 * Reporting is the Default Usage type for all the
18 * associations.
19 * This Procedure would Call the PA_RBS_ASGMT_Pvt pkg.
20 ****************************************************************/
21 PROCEDURE Create_RBS_Assignment
22 ( p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
23 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
24 p_rbs_header_id IN NUMBER,
25 p_rbs_version_id IN NUMBER DEFAULT NULL,
26 p_project_id IN NUMBER,
27 p_wp_usage_flag IN VARCHAR2 DEFAULT NULL,
28 p_fp_usage_flag IN VARCHAR2 DEFAULT NULL,
29 p_prog_rep_usage_flag IN VARCHAR2 DEFAULT NULL,
30 p_primary_rep_flag IN VARCHAR2 DEFAULT 'N',
31 x_return_status OUT NOCOPY VARCHAR2 ,
32 x_msg_count OUT NOCOPY NUMBER ,
33 x_error_msg_data OUT NOCOPY VARCHAR2)
34 IS
35 BEGIN
36 /****************************************
37 * First Initialize the message list.
38 ****************************************/
39 IF FND_API.to_boolean( p_init_msg_list )
40 THEN
41 FND_MSG_PUB.initialize;
42 END IF;
43
44 --Call to the Pvt Pkg Pa_Rbs_Asgmt_Pvt.Create_RBS_Assignment
45 Pa_Rbs_Asgmt_Pvt.Create_RBS_Assignment(
46 p_rbs_header_id => p_rbs_header_id,
47 p_rbs_version_id => p_rbs_version_id ,
48 p_project_id => p_project_id,
49 p_wp_usage_flag => p_wp_usage_flag ,
50 p_fp_usage_flag => p_fp_usage_flag ,
51 p_prog_rep_usage_flag => p_prog_rep_usage_flag ,
52 p_primary_rep_flag => p_primary_rep_flag ,
53 x_return_status => x_return_status ,
54 x_msg_count => x_msg_count ,
55 x_error_msg_data => x_error_msg_data );
56
57
58
59 /************************************************
60 * Check the Commit flag. if it is true then Commit.
61 ***********************************************/
62 IF FND_API.to_boolean( p_commit )
63 THEN
64 COMMIT;
65 END IF;
66
67 END Create_RBS_Assignment;
68 /***************************/
69
70 PROCEDURE Update_RBS_Assignment(
71 p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
72 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
73 p_rbs_prj_assignment_id IN NUMBER,
74 p_wp_usage_flag IN VARCHAR2 DEFAULT 'N',
75 p_fp_usage_flag IN VARCHAR2 DEFAULT 'N',
76 p_prog_rep_usage_flag IN VARCHAR2 DEFAULT 'N',
77 p_primary_rep_flag IN VARCHAR2 DEFAULT 'N',
78 p_record_version_number IN Number,
79 p_set_as_primary IN Varchar2 DEFAULT 'N',
80 x_return_status OUT NOCOPY VARCHAR2,
81 x_msg_count OUT NOCOPY NUMBER,
82 x_error_msg_data OUT NOCOPY VARCHAR2 )
83 IS
84
85 BEGIN
86 /****************************************
87 * First Initialize the message list.
88 ****************************************/
89 IF FND_API.to_boolean( p_init_msg_list )
90 THEN
91 FND_MSG_PUB.initialize;
92 END IF;
93
94 --Call to the Pvt Pkg Pa_Rbs_Asgmt_Pvt.Update_RBS_Assignment
95 Pa_Rbs_Asgmt_Pvt.Update_RBS_Assignment(
96 p_rbs_prj_assignment_id => p_rbs_prj_assignment_id ,
97 p_wp_usage_flag => p_wp_usage_flag ,
98 p_fp_usage_flag => p_fp_usage_flag,
99 p_prog_rep_usage_flag => p_prog_rep_usage_flag,
100 p_primary_rep_flag => p_primary_rep_flag,
101 p_record_version_number => p_record_version_number,
102 p_set_as_primary => p_set_as_primary,
103 x_return_status => x_return_status,
104 x_msg_count => x_msg_count,
105 x_error_msg_data => x_error_msg_data );
106
107
108 /************************************************
109 * Check the Commit flag. if it is true then Commit.
110 ***********************************************/
111 IF FND_API.to_boolean( p_commit )
112 THEN
113 COMMIT;
114 END IF;
115
116
117 END Update_RBS_Assignment;
118
119
120 PROCEDURE Delete_RBS_Assignment(
121 p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
122 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
123 p_rbs_prj_assignment_id IN NUMBER,
124 x_return_status OUT NOCOPY VARCHAR2,
125 x_msg_count OUT NOCOPY NUMBER,
126 x_error_msg_data OUT NOCOPY VARCHAR2 )
127 IS
128
129 BEGIN
130
131 /****************************************
132 * First Initialize the message list.
133 ****************************************/
134 IF FND_API.to_boolean( p_init_msg_list )
135 THEN
136 FND_MSG_PUB.initialize;
137 END IF;
138
139 --Call to the Pvt Pkg Pa_Rbs_Asgmt_Pvt.Delete_RBS_Assignment
140 Pa_Rbs_Asgmt_Pvt.Delete_RBS_Assignment(
141 p_rbs_prj_assignment_id => p_rbs_prj_assignment_id,
142 x_return_status => x_return_status,
143 x_msg_count => x_msg_count,
144 x_error_msg_data => x_error_msg_data );
145
146
147 /************************************************
148 * Check the Commit flag. if it is true then Commit.
149 ***********************************************/
150 IF FND_API.to_boolean( p_commit )
151 THEN
152 COMMIT;
153 END IF;
154
155 END Delete_RBS_Assignment;
156
157 PROCEDURE Copy_rbs_assignments(
158 p_source_project_id IN Number,
159 p_destination_project_id IN Number,
160 x_return_status OUT NOCOPY Varchar2)
161 IS
162
163 BEGIN
164 x_return_status := FND_API.G_RET_STS_SUCCESS;
165
166 INSERT INTO pa_rbs_prj_assignments
167 (RBS_PRJ_ASSIGNMENT_ID,
168 PROJECT_ID,
169 RBS_VERSION_ID,
170 RBS_HEADER_ID,
171 REPORTING_USAGE_FLAG,
172 WP_USAGE_FLAG,
173 FP_USAGE_FLAG,
174 PROG_REP_USAGE_FLAG,
175 PRIMARY_REPORTING_RBS_FLAG,
176 ASSIGNMENT_STATUS,
177 LAST_UPDATE_DATE,
178 LAST_UPDATED_BY,
179 CREATION_DATE,
180 CREATED_BY,
181 LAST_UPDATE_LOGIN,
182 RECORD_VERSION_NUMBER)
183 SELECT
184 PA_RBS_PRJ_ASSIGNMENTS_S.NEXTVAL,
185 p_destination_project_id,
186 a.RBS_VERSION_ID,
187 a.RBS_HEADER_ID,
188 a.REPORTING_USAGE_FLAG,
189 a.WP_USAGE_FLAG,
190 a.FP_USAGE_FLAG,
191 a.PROG_REP_USAGE_FLAG,
192 a.PRIMARY_REPORTING_RBS_FLAG,
193 a.ASSIGNMENT_STATUS,
194 sysdate,
195 a.LAST_UPDATED_BY,
196 sysdate,
197 a.CREATED_BY,
198 a.LAST_UPDATE_LOGIN,
199 1
200 FROM pa_rbs_prj_assignments a
201 WHERE a.project_id = p_source_project_id
202 AND a.assignment_status = 'ACTIVE'
203 AND NOT EXISTS
204 (select rbs_prj_assignment_id
205 from pa_rbs_prj_assignments b
206 where a.rbs_header_id = b.rbs_header_id
207 and a.rbs_version_id = b.rbs_version_id
208 and b.project_id = p_destination_project_id);
209 EXCEPTION
210 WHEN OTHERS THEN
211 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
212 RETURN;
213 END Copy_rbs_assignments;
214
215
216 END PA_RBS_ASGMT_PUB;