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