DBA Data[Home] [Help]

PACKAGE: APPS.PA_COST_PLUS

Source


1 package PA_COST_PLUS AUTHID CURRENT_USER as
2 -- $Header: PAXCCPES.pls 120.8.12020000.3 2013/03/06 09:53:48 admarath ship $
3 /*#
4  * Oracle Projects provides a procedure you can use to call the Cost Plus Application Programming Interface.
5  * @rep:scope public
6  * @rep:product PA
7  * @rep:lifecycle active
8  * @rep:displayname  Cost Plus Applications Programming Interface (API)
9  * @rep:compatibility S
10  * @rep:category BUSINESS_ENTITY PA_PROJECT
11  * @rep:category BUSINESS_ENTITY PA_PROJ_COST
12  * @rep:doccd 120pjapi.pdf See the Oracle Projects API's, Client Extensions, and Open Interfaces Reference
13 */
14 
15    TYPE precedence_tab_type IS TABLE OF pa_compiled_multipliers.precedence%TYPE
16         INDEX BY BINARY_INTEGER;
17    TYPE ind_cost_code_tab_type IS TABLE OF
18 	pa_compiled_multipliers.ind_cost_code%TYPE INDEX BY BINARY_INTEGER;
19    TYPE multiplier_tab_type IS TABLE OF pa_ind_cost_multipliers.multiplier%TYPE
20         INDEX BY BINARY_INTEGER;
21    /*2933915*/
22    TYPE org_tab_type is TABLE of pa_ind_cost_multipliers.organization_id%TYPE
23    INDEX BY BINARY_INTEGER;
24    /*2933915*/
25 
26    /* Bug 3786374 : The SQL retriving ind_rate_schedule_type exceeded apps execution threshold */
27 	g_sch_id					pa_ind_rate_schedules.ind_rate_sch_id%type;
28 	g_ind_rate_schedule_type	pa_ind_rate_schedules.ind_rate_schedule_type%type;
29 
30 /* S.N. Bug 3938479 */
31 
32    g_rate_sch_rev_id   pa_ind_rate_sch_revisions.ind_rate_sch_revision_id%type;
33    g_org_id            pa_ind_cost_multipliers.organization_id%type;
34    g_org_override      NUMBER;
35 
36 /* E.N. Bug 3938479 */
37 
38 HASHKEY VARCHAR2(250); /*bug 14330754  */
39 TYPE org_override_tab IS table of NUMBER index by varchar2(250); /*bug 14330754*/
40 G_org_override_tab org_override_tab;  /*bug 14330754*/
41 
42 
43     procedure compile_org_rates(rate_sch_rev_id  IN number,
44 			    org_id 	     IN     Number,
45                             org_struc_ver_id IN     Number,
46                             start_org        IN     Number,
47 			    status 	     IN OUT NOCOPY number,
48 			    stage	     IN OUT NOCOPY number);
49 
50     procedure compile_org_hierarchy_rates(rate_sch_rev_id IN number,
54 			       stage	       IN OUT NOCOPY number);
51                                org_id 	       IN number,
52                                comp_type       IN varchar2,
53 			       status 	       IN OUT NOCOPY number,
55 
56     procedure new_organization(errbuf IN OUT NOCOPY varchar2,
57                                retcode IN OUT NOCOPY varchar2,
58 			       organization_id IN varchar2);
59 
60     procedure compile_schedule(errbuf IN OUT NOCOPY varchar2,
61                           retcode IN OUT NOCOPY varchar2,
62                           sch_rev_id IN varchar2);
63 
64     procedure compile_all(errbuf IN OUT NOCOPY varchar2,
65                           retcode IN OUT NOCOPY varchar2);
66 
67     /*
68        Multi-Currency related changes :
69        Two more parameters added: indirect_cost_acct
70                                   indirect_cost_denom
71      */
72     procedure get_exp_item_indirect_cost(exp_item_id     IN     Number,
73                                      schedule_type       IN     Varchar2,
74                                      indirect_cost       IN OUT NOCOPY Number,
75                                      indirect_cost_acct  IN OUT NOCOPY NUMBER,
76                                      indirect_cost_denom IN OUT NOCOPY NUMBER,
77                                      indirect_cost_project IN OUT NOCOPY NUMBER, /* ProjCurr changes*/
78                                      rate_sch_rev_id     IN OUT NOCOPY Number,
79                                      compiled_set_id     IN OUT NOCOPY Number,
80                                      status              IN OUT NOCOPY Number,
81                                      stage               IN OUT NOCOPY Number);
82 
83     procedure get_exp_item_burden_amount(exp_item_id  IN     Number,
84                                      schedule_type    IN     Varchar2,
85                                      burden_amount    IN OUT NOCOPY Number,
86                                      rate_sch_rev_id  IN OUT NOCOPY Number,
87                                      compiled_set_id  IN OUT NOCOPY Number,
88                                      status           IN OUT NOCOPY Number,
89                                      stage            IN OUT NOCOPY Number);
90 
91     procedure populate_indirect_cost(update_count  IN OUT NOCOPY Number);
92 
93     procedure get_indirect_cost_sum (org_id 	    	IN     number,
94                                	     c_base 	    	IN     varchar2,
95                                      rate_sch_rev_id    IN     number,
96                                      direct_cost 	IN     number,
97                                      precision          IN     number,
98                                      indirect_cost_sum  IN OUT NOCOPY number,
99 			    	     status	    	IN OUT NOCOPY number,
100 			    	     stage	    	IN OUT NOCOPY number);
101 
102 --    pragma RESTRICT_REFERENCES (get_indirect_cost_sum, WNDS, WNPS );
103 
104 /*
105     procedure get_detail_indirect_costs(exp_item_id IN Number,
106                         schedule_type       IN     Varchar2,
107                         ind_cost_code_num   IN OUT NOCOPY Number,
108                         c_base  	    IN OUT NOCOPY Varchar2,
109                         precedence          IN OUT NOCOPY precedence_tab_type,
110                         ind_cost_code       IN OUT NOCOPY ind_cost_code_tab_type,
111                         compiled_multiplier IN OUT NOCOPY multiplier_tab_type,
112                         indirect_cost       IN OUT NOCOPY multiplier_tab_type,
113                         status              IN OUT NOCOPY number,
114                         stage               IN OUT NOCOPY number);
115 */
116 
117     procedure view_indirect_cost(    transaction_id   IN     Number,
118                                      transaction_type IN     Varchar2,
119                                      task_id       IN     Number,
120                                      effective_date   IN     Date,
121                                      expenditure_type IN     Varchar2,
122                                      organization_id  IN     Number,
123                                      schedule_type    IN     Varchar2,
124                                      direct_cost      IN     Number,
125                                      indirect_cost    IN OUT NOCOPY Number,
126                                      status           IN OUT NOCOPY Number,
127                                      stage            IN OUT NOCOPY Number);
128 	/* Bug 3786374 : Caching introduced in get_revision_by_date and hence in this procedure also */
129     --- pragma RESTRICT_REFERENCES (view_indirect_cost, WNDS, WNPS );
130 
131 
132 /*#
133  * This procedure retrieves an amount based on your burden cost setup. You can
134  * specify the burden schedule, effective date, expenditure type, and
135  * organization, and retrieve the burden cost amount based on the criteria you specify.
136  * @param burden_schedule_id The schedule ID of the burden schedule used to calculate the burden amount
137  * @rep:paraminfo {@rep:required}
138  * @param effective_date The date used to identify the burden schedule revision to calculate the burden amount
139  * @rep:paraminfo {@rep:required}
140  * @param expenditure_type The type of expenditure item used to find a cost base
141  * @rep:paraminfo {@rep:required}
142  * @param organization_id The ID of the organization used to find a multiplier
143  * @rep:paraminfo {@rep:required}
144  * @param raw_amount The raw amount for which the burden amount is calculated
145  * @rep:paraminfo {@rep:required}
146  * @param burden_amount The calculated burden amount
147  * @rep:paraminfo {@rep:required}
148  * @param burden_sch_rev_id The schedule revision ID of the burden schedule used to calculate the burden amount
149  * @rep:paraminfo {@rep:required}
150  * @param compiled_set_id  The ID of the active compiled set used to calculate the burden amount
151  * @rep:paraminfo {@rep:required}
155  * @rep:paraminfo {@rep:required}
152  * @param status The processing status of the procedure
153  * @rep:paraminfo {@rep:required}
154  * @param stage The exit stage of the procedure
156  * @rep:scope public
157  * @rep:lifecycle active
158  * @rep:displayname Get Burden Amount
159  * @rep:compatibility S
160 */
161     procedure get_burden_amount(burden_schedule_id   IN     Number,
162                                 effective_date       IN     Date,
163                                 expenditure_type     IN     Varchar2,
164                                 organization_id      IN     Number,
165                                 raw_amount           IN     Number,
166                                 burden_amount        IN OUT NOCOPY Number,
167 			        burden_sch_rev_id    IN OUT NOCOPY Number,
168 			        compiled_set_id      IN OUT NOCOPY Number,
169                                 status               IN OUT NOCOPY Number,
170                                 stage                IN OUT NOCOPY Number);
171 
172     /* added for bug#3117191 */
173     procedure get_burden_amount1(--burden_schedule_id   IN     Number,
174                                 --effective_date       IN     Date,
175                                 expenditure_type     IN     Varchar2,
176                                 organization_id      IN     Number,
177                                 raw_amount           IN     Number,
178                                 burden_amount        IN OUT NOCOPY Number,
179                                 burden_sch_rev_id    IN OUT NOCOPY Number,
180                                 compiled_set_id      IN OUT NOCOPY Number,
181                                 status               IN OUT NOCOPY Number,
182                                 stage                IN OUT NOCOPY Number);
183      /* end for bug#3117191 */
184 
185     procedure get_hierarchy_from_revision(p_sch_rev_id IN  number,
186                               x_org_struc_ver_id    OUT NOCOPY number,
187                               x_start_org           OUT NOCOPY number,
188                               x_status              OUT NOCOPY number,
189                               x_stage               OUT NOCOPY number);
190 
191     procedure find_rate_sch_rev_id(
192                         transaction_id IN Number,
193                         transaction_type IN Varchar2,
194                         t_id            IN Number,
195                         schedule_type   IN Varchar2,
196                         exp_item_date   IN  Date,
197                         sch_id          IN OUT NOCOPY Number,
198                         rate_sch_rev_id IN OUT NOCOPY Number,
199                         sch_fixed_date  IN OUT NOCOPY Date,
200                         status          IN OUT NOCOPY Number,
201                         stage           IN OUT NOCOPY Number);
202 	/* Bug# 3786374 Used Caching in get_revision_by_date. Hence in this procedure also. */
203     --- pragma RESTRICT_REFERENCES (find_rate_sch_rev_id, WNDS, WNPS );
204 
205     procedure get_rate_sch_rev_id(exp_item_id IN Number,
206                         schedule_type   IN     Varchar2,
207                         rate_sch_rev_id IN OUT NOCOPY Number,
208                         status          IN OUT NOCOPY Number,
209                         stage           IN OUT NOCOPY Number);
210 
211     procedure get_cost_base(exp_type             IN     varchar2,
212                             cp_structure  	 IN     varchar2,
213                             c_base               IN OUT NOCOPY varchar2,
214 			    status	         IN OUT NOCOPY number,
215 			    stage	         IN OUT NOCOPY number);
216 
217 --    pragma RESTRICT_REFERENCES (get_cost_base, WNDS, WNPS );
218 
219     procedure get_cost_plus_structure(rate_sch_rev_id   IN     Number,
220                                    cp_structure         IN OUT NOCOPY Varchar2,
221                                    status               IN OUT NOCOPY number,
222                                    stage                IN OUT NOCOPY number);
223 
224 --    pragma RESTRICT_REFERENCES (get_cost_plus_structure, WNDS, WNPS );
225 
226     procedure get_organization_id(exp_item_id    IN     Number,
227                                    organization_id      IN OUT NOCOPY Number,
228                                    status               IN OUT NOCOPY Number,
229                                    stage                IN OUT NOCOPY Number);
230 
231     procedure get_compiled_set_id(rate_sch_rev_id    IN     Number,
232                                   org_id    	     IN     Number,
233  			          c_base             IN     Varchar2,        /*2933915*/
234                                   compiled_set_id    IN OUT NOCOPY Number,
235                                   status             IN OUT NOCOPY Number,
236                                   stage              IN OUT NOCOPY Number);
237 
238 --    pragma RESTRICT_REFERENCES (get_compiled_set_id, WNDS, WNPS );
239 
240     procedure get_revision_by_date(sch_id            IN     Number,
241                                    sch_fixed_date    IN     Date,
242                                    exp_item_date     IN     Date,
243                                    rate_sch_rev_id   IN OUT NOCOPY Number,
244                                    status            IN OUT NOCOPY Number,
245                                    stage             IN OUT NOCOPY Number);
246 
247 	/* Bug 3786374 : Used caching */
248     --- pragma RESTRICT_REFERENCES (get_revision_by_date, WNDS, WNPS );
249 
250     procedure check_revision_used(rate_sch_rev_id IN number,
251 				  status IN OUT NOCOPY number,
252 			     	  stage	 IN OUT NOCOPY number);
253 
257 
254     procedure check_structure_used(structure IN varchar2,
255 				  status IN OUT NOCOPY number,
256 			     	  stage	 IN OUT NOCOPY number);
258     procedure copy_structure(source      IN 	varchar2,
259 			     destination IN 	varchar2,
260 			     status	 IN OUT NOCOPY number,
261 			     stage	 IN OUT NOCOPY number);
262 
263 /*
264     procedure copy_multipliers(source      IN     number,
265                                destination IN     number,
266                                status      IN OUT NOCOPY number,
267                                stage       IN OUT NOCOPY number);
268 */
269 
270 
271     procedure mark_impacted_exp_items(rate_sch_rev_id      IN     number,
272                                     status      IN OUT NOCOPY number,
273                                     stage       IN OUT NOCOPY number);
274 
275     procedure mark_prev_rev_exp_items(compiled_set_id IN number,
276                                   rev_type IN varchar2,
277 				  reason IN varchar2,
278                                   l_start_date IN date,
279                                   l_end_date IN date,
280                                   status IN OUT NOCOPY number,
281                                   stage  IN OUT NOCOPY number);
282 
283     /*S.N. Bug 4527736 Changed Procedure Signature.*/
284     procedure add_adjustment_activity(
285                                     --compiled_set_id IN number,
286                                     --  p_cost_base       IN pa_cost_bases.cost_base%TYPE
287                                     -- ,p_cost_plus_structure IN pa_cost_plus_structures.cost_plus_structure%TYPE,
288                                  -- cost_adj_reason IN varchar2,
289                                 --  rev_adj_reason  IN varchar2,
290                                 --  inv_adj_reason  IN varchar2,
291                                 --  tp_adj_reason  IN varchar2,
292                                    l_expenditure_item_id_tab IN PA_PLSQL_DATATYPES.IDTABTYP
293                                   ,l_adj_type_tab IN PA_PLSQL_DATATYPES.Char30TabTyp
294                                   ,status          IN OUT NOCOPY number
295                                   ,stage           IN OUT NOCOPY number);
296    /*E.N. Bug 4527736 Changed Procedure Signature.*/
297 
298     procedure disable_rate_sch_revision(rate_sch_rev_id  IN    number,
299                                         ver_id           IN    number,                /*2933915*/
300 	                                org_id           IN    number,               /*2933915*/
301                                         status      IN OUT NOCOPY number,
302                                         stage       IN OUT NOCOPY number);
303 
304     procedure disable_sch_rev_org(rate_sch_rev_id  IN    number,
305 				  org_id      IN     number,
306                                   status      IN OUT NOCOPY number,
307                                   stage       IN OUT NOCOPY number);
308 
309     procedure get_indirect_cost_amounts (x_indirect_cost_costing IN OUT NOCOPY number,
310                                      x_indirect_cost_revenue IN OUT NOCOPY number,
311                                      x_indirect_cost_invoice IN OUT NOCOPY number,
312                                      x_task_id               IN     number,
313                                      x_gl_date               IN     date,
314                                      x_expenditure_type      IN     varchar2,
315                                      x_organization_id       IN     number,
316                                      x_direct_cost           IN     number,
317 			    	     x_return_status	     IN OUT NOCOPY number,
318 			    	     x_stage	    	     IN OUT NOCOPY number);
319 
320 
321     procedure get_ind_rate_sch_rev(x_ind_rate_sch_name      IN OUT NOCOPY varchar2,
322                                x_ind_rate_sch_revision      IN OUT NOCOPY varchar2,
323                                x_ind_rate_sch_revision_type IN OUT NOCOPY varchar2,
324                                x_start_date_active          IN OUT NOCOPY date,
325                                x_end_date_active            IN OUT NOCOPY date,
326                                x_task_id                    IN     number,
327                                x_gl_date                    IN     date,
328                                x_detail_type_flag           IN     varchar2,
329                                x_expenditure_type           IN     varchar2,
330                                x_cost_base                  IN OUT NOCOPY varchar2,
331                                x_ind_compiled_set_id        IN OUT NOCOPY number,
332                                x_organization_id            IN     number,
333 			       x_return_status	            IN OUT NOCOPY number,
334 			       x_stage	    	            IN OUT NOCOPY number);
335 
336     /*
337        Multi-Currency related changes :
338        New Procedure added
339      */
340     PROCEDURE Get_Compiled_Multiplier( P_Org_Id               IN     NUMBER,
341                                        P_C_Base               IN     VARCHAR2,
342                                        P_Rate_Sch_Rev_Id      IN     NUMBER,
343                                        P_Compiled_Multiplier  IN OUT NOCOPY NUMBER,
344                                        P_Status               IN OUT NOCOPY NUMBER,
345                                        P_Stage                IN OUT NOCOPY NUMBER );
346 
347      /*Bug# 2110452:To implement the same logic as is used in R10.7/R11.0 for
348      burden cost calculation*/
349 
350    procedure get_indirect_cost_sum1 (org_id                    IN     number,
351                                      c_base                    IN     varchar2,
352                                      rate_sch_rev_id           IN     number,
353                                      direct_cost               IN     number,
354                                      direct_cost_denom         IN     number,
355                                      direct_cost_acct          IN     number,
356                                      direct_cost_project       IN     number,
357                                      precision                 IN     number,
358                                      indirect_cost_sum         IN OUT NOCOPY number,
359                                      indirect_cost_denom_sum   IN OUT NOCOPY number,
360                                      indirect_cost_acct_sum    IN OUT NOCOPY number,
361                                      indirect_cost_project_sum IN OUT NOCOPY number,
362                                      l_projfunc_currency_code  IN     varchar2,
363                                      l_project_currency_code   IN     varchar2,
364                                      l_acct_currency_code      IN     varchar2,
365                                      l_denom_currency_code     IN     varchar2,
366                                      status                    IN OUT NOCOPY number,
367                                      stage                     IN OUT NOCOPY number);
368 /*End of changes for bug# 2110452*/
369 
370     FUNCTION Get_Mltplr_For_Compiled_Set( P_Ind_Compiled_Set_ID IN NUMBER)
371       RETURN Number;
372 
373 --    PRAGMA RESTRICT_REFERENCES (Get_Mltplr_For_Compiled_Set, WNDS, WNPS );
374 
375     FUNCTION check_for_explicit_multiplier(rate_sch_rev_id IN NUMBER,org_id IN NUMBER)  /*3016281*/
376       RETURN NUMBER ;
377  /**2933915 :Added two new procedures **/
378 procedure delete_rate_sch_revision(rate_sch_rev_id   IN    number,
379                                     ver_id           IN    number,
380                                     org_id           IN    number,
381                                     status           IN OUT NOCOPY number,
382                                     stage            IN OUT NOCOPY number) ;
383 
384 procedure find_impacted_top_org(rate_sch_rev_id  IN    number,
385                                 ver_id           IN    number ,
386 				start_org        IN    number ,
387                                 org_tab          OUT   NOCOPY org_tab_type,
388 				status           IN OUT NOCOPY number) ;
389 
390  /*End of changes for 2933915*/
391 
392  /* Added procedure for bug 9643997 */
393  PROCEDURE validate_CrDr_lines ( p_request_id     IN  NUMBER
394                                   ,x_return_status  OUT NOCOPY NUMBER
395                                   ,x_error_code     OUT NOCOPY VARCHAR2
396                                   ,x_error_stage    OUT NOCOPY NUMBER
397                                  );
398 
399 end PA_COST_PLUS ;