1 PACKAGE PA_CLIENT_EXTN_ALLOC AS
2 /* $Header: PAPALCCS.pls 120.2 2006/07/25 20:42:43 skannoji noship $ */
3 /*#
4 * This extension contains procedures that define the source, target, offset, and basis for an allocation rule, to define
5 * descriptive flexfields for allocation and to check dependencies.
6 * @rep:scope public
7 * @rep:product PA
8 * @rep:lifecycle active
9 * @rep:displayname Create Client Extension Allocation
10 * @rep:compatibility S
11 * @rep:category BUSINESS_ENTITY PA_PROJECT
12 * @rep:doccd 120pjapi.pdf See the Oracle Projects API's, Client Extensions, and Open Interfaces Reference
13 */
14
15 TYPE ALLOC_SOURCE_REC IS RECORD (
16 PROJECT_ID NUMBER ,
17 TASK_ID NUMBER ,
18 EXCLUDE_FLAG VARCHAR2(1)
19 ) ;
20 TYPE ALLOC_SOURCE_TABTYPE IS TABLE OF ALLOC_SOURCE_REC
21 INDEX BY BINARY_INTEGER ;
22
23 TYPE ALLOC_TARGET_REC IS RECORD (
24 PROJECT_ID NUMBER ,
25 TASK_ID NUMBER ,
26 PERCENT NUMBER ,
27 EXCLUDE_FLAG VARCHAR2(1)
28 ) ;
29 TYPE ALLOC_TARGET_TABTYPE IS TABLE OF ALLOC_TARGET_REC
30 INDEX BY BINARY_INTEGER ;
31
32 TYPE ALLOC_OFFSET_REC IS RECORD (
33 PROJECT_ID NUMBER
34 , TASK_ID NUMBER
35 , OFFSET_AMOUNT NUMBER
36 ) ;
37
38 TYPE ALLOC_OFFSET_TABTYPE IS TABLE OF ALLOC_OFFSET_REC
39 INDEX BY BINARY_INTEGER ;
40
41 /*#
42 * You can use this extension to define source projects and tasks.
43 *@param p_alloc_rule_id Identifier of the allocation rule
44 *@rep:paraminfo {@rep:required}
45 *@param x_source_proj_task_tbl Table defining source projects and tasks for each allocation rule. The index must be numbered sequentially from 1
46 *@rep:paraminfo {@rep:required}
47 *@param x_status Error status (0 = successful execution, <0 = Oracle error, >0 = application error)
48 *@rep:paraminfo {@rep:required}
49 *@param x_error_message Error message text
50 *@rep:paraminfo {@rep:required}
51 *@rep:scope public
52 *@rep:lifecycle active
53 *@rep:displayname Source Extension
54 *@rep:compatibility S
55 */
56 PROCEDURE source_extn( p_alloc_rule_id IN NUMBER
57 , x_source_proj_task_tbl OUT NOCOPY ALLOC_SOURCE_TABTYPE
58 , x_status OUT NOCOPY NUMBER
59 , x_error_message OUT NOCOPY VARCHAR2 );
60
61 /*#
62 * This procedure defines offset projects and tasks. For each allocation rule, you populate the global session variable
63 * X_OFFSET_PROJ_TASK_TBL of data type table ALLOC_OFFSET_TABTYPE. The allocation run process reads the table to get the
64 * offset project, task, and offset amount for the allocation run. The sum of offset amounts assigned to each offset
65 * project and task equals the total offset amount (P_OFFSET_AMOUNT).
66 * @param p_alloc_rule_id Identifier of the allocation rule
67 * @rep:paraminfo {@rep:required}
68 * @param p_offset_amount The pool amount to be offset
69 * @rep:paraminfo {@rep:required}
70 * @param x_offset_proj_task_tbl Table defining offset information for each allocation rule. The index must be numbered sequentially from 1
71 * @rep:paraminfo {@rep:required}
72 * @param x_status Error status (0 = successful execution, <0 = Oracle error, >0 = application error)
73 * @rep:paraminfo {@rep:required}
74 * @param x_error_message Error message text
75 * @rep:paraminfo {@rep:required}
76 * @rep:scope public
77 * @rep:lifecycle active
78 * @rep:displayname Offset Extension
79 * @rep:compatibility S
80 */
81 PROCEDURE offset_extn( p_alloc_rule_id IN NUMBER
82 , p_offset_amount IN NUMBER
83 , x_offset_proj_task_tbl OUT NOCOPY ALLOC_OFFSET_TABTYPE
84 , x_status OUT NOCOPY NUMBER
85 , x_error_message OUT NOCOPY VARCHAR2 );
86
87 /*#
88 * This procedure defines offset tasks.
89 * @param p_alloc_rule_id Identifier of the allocation rule
90 * @rep:paraminfo {@rep:required}
91 * @param p_offset_project_id The offset project
92 * @rep:paraminfo {@rep:required}
93 * @param x_offset_task_id The offset task
94 * @rep:paraminfo {@rep:required}
95 * @param x_status Error status (0 = successful execution, <0 = Oracle error, >0 = application error)
96 * @rep:paraminfo {@rep:required}
97 * @param x_error_message Error message text
98 * @rep:paraminfo {@rep:required}
99 * @rep:scope public
100 * @rep:lifecycle active
101 * @rep:displayname Offset Task Extension
102 * @rep:compatibility S
103 */
104 PROCEDURE offset_task_extn( p_alloc_rule_id IN NUMBER
105 , p_offset_project_id IN NUMBER
106 , x_offset_task_id OUT NOCOPY NUMBER
107 , x_status OUT NOCOPY NUMBER
108 , x_error_message OUT NOCOPY VARCHAR2 );
109
110 /*#
111 * You can use this procedure to define amounts other than target costs for calculating the basis rate for target projects and tasks.
112 * @param p_alloc_rule_id Identifier of the allocation rule
113 * @rep:paraminfo {@rep:required}
114 * @param p_project_id Identifier of the offset project
115 * @rep:paraminfo {@rep:required}
116 * @param p_task_id Identifier of the offset task
117 * @rep:paraminfo {@rep:required}
118 * @param x_basis_amount The percentage of the pool amount allocated to this offset. (The sum of the basis amounts cannot equal zero.)
119 * @rep:paraminfo {@rep:required}
120 * @param x_status Error status (0 = successful execution, <0 = Oracle error, >0 = application error)
121 * @rep:paraminfo {@rep:required}
122 * @param x_error_message Error message text
123 * @rep:paraminfo {@rep:required}
124 * @rep:scope public
125 * @rep:lifecycle active
126 * @rep:displayname Basis Extension
127 * @rep:compatibility S
128 */
129 PROCEDURE basis_extn( p_alloc_rule_id IN NUMBER
130 , p_project_id IN NUMBER
131 , p_task_id IN NUMBER
132 , x_basis_amount OUT NOCOPY NUMBER
133 , x_status OUT NOCOPY NUMBER
134 , x_error_message OUT NOCOPY VARCHAR2 );
135
136 /*#
137 * You can use this procedure to include or exclude projects or tasks temporarily when allocating amounts to target projects and tasks.
138 * @param p_alloc_rule_id Identifier of the allocation rule
139 * @rep:paraminfo {@rep:required}
140 * @param x_target_proj_task_tbl Table defining target projects and tasks for each allocation rule. The index must be numbered sequentially from 1
141 * @rep:paraminfo {@rep:required}
142 * @param x_status Error status (0 = successful execution, <0 = Oracle error, >0 = application error)
143 * @rep:paraminfo {@rep:required}
144 * @param x_error_message Error message text
145 * @rep:paraminfo {@rep:required}
146 * @rep:scope public
147 * @rep:lifecycle active
148 * @rep:displayname Target Extension
149 * @rep:compatibility S
150 */
151 PROCEDURE target_extn( p_alloc_rule_id IN NUMBER
152 , x_target_proj_task_tbl OUT NOCOPY ALLOC_TARGET_TABTYPE
153 , x_status OUT NOCOPY NUMBER
154 , x_error_message OUT NOCOPY VARCHAR2 );
155
156 /*#
157 * You can use this procedure to define descriptive flexfields to be used when defining allocation rules.
158 * @param p_alloc_rule_id Identifier of the allocation rule
159 * @rep:paraminfo {@rep:required}
160 * @param p_run_id Identifier of the allocation run
161 * @rep:paraminfo {@rep:required}
162 * @param p_txn_type Type of transation: target transaction (T) or offset transaction (O)
163 * @rep:paraminfo {@rep:required}
164 * @param p_project_id Identifier of the offset project
165 * @rep:paraminfo {@rep:required}
166 * @param p_task_id Identifier of the offset task
167 * @rep:paraminfo {@rep:required}
168 * @param p_expnd_org The expenditure organization associated with the transaction
169 * @rep:paraminfo {@rep:required}
170 * @param p_expnd_type_class The expenditure type class associated with the transaction
171 * @rep:paraminfo {@rep:required}
172 * @param p_expnd_type The expenditure type
173 * @rep:paraminfo {@rep:required}
174 * @param x_attribute_category Descriptive flexfield category
175 * @rep:paraminfo {@rep:required}
176 * @param x_attribute1 Descriptive flexfield segment
177 * @rep:paraminfo {@rep:required}
178 * @param x_attribute2 Descriptive flexfield segment
179 * @rep:paraminfo {@rep:required}
180 * @param x_attribute3 Descriptive flexfield segment
181 * @rep:paraminfo {@rep:required}
182 * @param x_attribute4 Descriptive flexfield segment
183 * @rep:paraminfo {@rep:required}
184 * @param x_attribute5 Descriptive flexfield segment
185 * @rep:paraminfo {@rep:required}
186 * @param x_attribute6 Descriptive flexfield segment
187 * @rep:paraminfo {@rep:required}
188 * @param x_attribute7 Descriptive flexfield segment
189 * @rep:paraminfo {@rep:required}
190 * @param x_attribute8 Descriptive flexfield segment
191 * @rep:paraminfo {@rep:required}
192 * @param x_attribute9 Descriptive flexfield segment
193 * @rep:paraminfo {@rep:required}
194 * @param x_attribute10 Descriptive flexfield segment
195 * @rep:paraminfo {@rep:required}
196 * @param x_status Error status (0 = successful execution, <0 = Oracle error, >0 = application error)
197 * @rep:paraminfo {@rep:required}
198 * @param x_error_message Error message text
199 * @rep:paraminfo {@rep:required}
200 * @rep:scope public
201 * @rep:lifecycle active
202 * @rep:displayname Transcation Descriptive Flexfield Extension
203 * @rep:compatibility S
204 */
205 PROCEDURE txn_dff_extn( p_alloc_rule_id IN NUMBER
206 ,p_run_id IN NUMBER
207 ,p_txn_type IN VARCHAR2
208 ,p_project_id IN VARCHAR2
209 ,P_task_id IN VARCHAR2
210 ,p_expnd_org IN VARCHAR2
211 ,p_expnd_type_class IN VARCHAR2
212 ,p_expnd_type IN VARCHAR2
213 ,x_attribute_category OUT NOCOPY VARCHAR2
214 ,x_attribute1 OUT NOCOPY VARCHAR2
215 ,x_attribute2 OUT NOCOPY VARCHAR2
216 ,x_attribute3 OUT NOCOPY VARCHAR2
217 ,x_attribute4 OUT NOCOPY VARCHAR2
218 ,x_attribute5 OUT NOCOPY VARCHAR2
219 ,x_attribute6 OUT NOCOPY VARCHAR2
220 ,x_attribute7 OUT NOCOPY VARCHAR2
221 ,x_attribute8 OUT NOCOPY VARCHAR2
222 ,x_attribute9 OUT NOCOPY VARCHAR2
223 ,x_attribute10 OUT NOCOPY VARCHAR2
224 , x_status OUT NOCOPY NUMBER
225 , x_error_message OUT NOCOPY VARCHAR2
226 ) ;
227
228 /*#
229 * You can use this procedure to verify compliance with the business rules of your choice.
230 * @param p_alloc_rule_id Identifier of the allocation rule
231 * @rep:paraminfo {@rep:required}
232 * @param x_status Error status (0 = successful execution, <0 = Oracle error, >0 = application error)
233 * @rep:paraminfo {@rep:required}
234 * @param x_error_message Error message text
235 * @rep:paraminfo {@rep:required}
236 * @rep:scope public
237 * @rep:lifecycle active
238 * @rep:displayname Check Dependency
239 * @rep:compatibility S
240 */
241 PROCEDURE check_dependency(p_alloc_rule_id IN NUMBER
242 , x_status OUT NOCOPY NUMBER
243 , x_error_message OUT NOCOPY VARCHAR2
244 ) ;
245 END PA_CLIENT_EXTN_ALLOC;