1 package GMS_PO_API_GRP as
2 --$Header: gmsgpoxs.pls 120.1 2005/08/30 17:44:26 aaggarwa noship $
3
4 -- start of comments
5 -- --------------------
6 -- Standard Parameters : Standard parameters descriptions
7 -- p_api_version : This parameter is used by the api to compare the version
8 -- numbers of incoming calls to its current version number.
9 -- return an unexpected error if they are incompatible.
10 -- p_init_msg_list : This allows api called to request that the API does
11 -- the initialization of the message list on their behalf,
12 -- thus reducing the number of calls required by a caller
13 -- in order to execute an API.
14 --
15 -- p_commit : p_commit parameter is used by api caller to ask the API
16 -- to commit on their behalf after performing its function.
17 --
18 -- p_validation_level : APIs use the parameter to determine which validation steps
19 -- should be executed and which steps should be skipped.
20 -- value 0 = none validations
21 -- value 100 = FULL validations.
22 --
23 -- x_return_status : out varchar2
24 -- represents the result of all the operations performed by
25 -- the API and must have one of the following values.
26 -- G_RET_STS_SUCCESS = 'S'
27 -- G_RET_STS_ERROR = 'E'
28 -- G_RET_STS_UNEXP_ERROR= 'U'
29 --
30 -- x_msg_count : OUT NUMBER
31 -- the message count holds the number of messages in the
32 -- API message list. If this number is one then message data
33 -- holds the message in an encoded format.
34 -- x_msg_data : OUT number
35 -- message data holds the message in an encoded format.
36 -- end of comments
37 -- -----------------
38
39 -- Start of comments
40 -- -----------------
41 -- API Name : CREATE_COPY_DOC_ADL
42 -- Type : This is a Public package program unit.
43 -- Pre Reqs : None
44 -- Function : This API is for creating Award Distribution Lines for new Purchase
45 -- Order Distributions created through Copy Document feature in PO.
46 -- Logic : Copy award distribution line from the award set id passed.
47 -- Parameters :
48 -- : Standard parameters
49 -- p_api_version, p_commit, p_init_msg_list,
50 -- p_validation_level, x_msg_count, x_msg_data,
51 -- x_return_status
52 -- IN
53 -- : p_distribution_id NUMBER
54 -- Purchase order distribution line ID
55 -- : p_distribution_num NUMBER
56 -- Distribution line number
57 -- : p_project_id NUMBER
58 -- Project ID on the distribution line
59 -- : p_task_id NUMBER
60 -- Task on distribution line
61 -- : p_award_set_id NUMBER
62 -- Source award distribution line reference.
63 -- End of comments
64 -- ----------------
65
66 PROCEDURE CREATE_COPY_DOC_ADL
67 ( p_api_version IN NUMBER,
68 p_commit IN VARCHAR2,
69 p_init_msg_list IN VARCHAR2,
70 p_validation_level IN NUMBER,
71 x_msg_count OUT NOCOPY NUMBER,
72 x_msg_data OUT NOCOPY VARCHAR2,
73 x_return_status OUT NOCOPY VARCHAR2,
74 p_distribution_id IN NUMBER,
75 p_distribution_num IN NUMBER,
76 p_project_id IN NUMBER,
77 p_task_id IN NUMBER,
78 p_award_set_id IN NUMBER ) ;
79
80
81 -- Start of comments
82 -- -----------------
83 -- API Name : CREATE_AUTOCREATE_PO_ADL
84 -- Type : This is a Public package program unit.
85 -- Pre Reqs : None
86 -- Function : This API is for creating Award Distribution Lines for new Purchase
87 -- Order Distributions created through AUTOCREATE function
88 -- Logic : Copy award distribution line from the award set id passed using
89 -- bulk processing.
90 -- Calling API : po_interface_s.create_distributions
91 -- Parameters :
92 -- : Standard parameters
93 -- p_api_version, p_commit, p_init_msg_list,
94 -- p_validation_level, x_msg_count, x_msg_data,
95 -- x_return_status
96 -- IN OUT
97 -- : p_interface_obj gms_po_interface_type
98 -- This is a SQL object having a following table
99 -- elements.
100 -- distribution_id - Holds distribution ID
101 -- distribution_num Holds distribution number
102 -- project_id Holds Project ID
103 -- task_id Holds Task ID
104 -- award_set_id_in Holds Award Set Id Reference
105 -- award_set_id_out Holds return value of new
106 -- award distribution line
107 -- reference.
108 -- End of comments
109 -- ----------------
110
111 PROCEDURE CREATE_AUTOCREATE_PO_ADL
112 ( p_api_version in NUMBER,
113 p_commit in varchar2,
114 p_init_msg_list in varchar2,
115 p_validation_level in NUMBER,
116 x_msg_count out nocopy number,
117 x_msg_data out nocopy varchar2,
118 x_return_status out nocopy varchar2,
119 p_interface_obj in out nocopy gms_po_interface_type) ;
120
121 -- Start of comments
122 -- -----------------
123 -- API Name : CREATE_RELEASE_ADL
124 -- Type : This is a Public package program unit.
125 -- Pre Reqs : None
126 -- Function : This API is for creating Award Distribution Lines for new Purchase
127 -- Order Distributions created through Create release concurrent process
128 -- function
129 -- Logic : Copy award distribution line from the award set id passed using
130 -- bulk processing.
131 -- Calling API : PO_RELGEN_PKG.create_release_distribution
132 -- Parameters :
133 -- : Standard parameters
134 -- p_api_version, p_commit, p_init_msg_list,
135 -- p_validation_level, x_msg_count, x_msg_data,
136 -- x_return_status
137 -- IN OUT
138 -- : p_interface_obj gms_po_interface_type
139 -- This is a SQL object having a following table
140 -- elements.
141 -- distribution_id - Holds distribution ID
142 -- distribution_num Holds distribution number
143 -- project_id Holds Project ID
144 -- task_id Holds Task ID
145 -- award_set_id_in Holds Award Set Id Reference
146 -- award_set_id_out Holds return value of new
147 -- award distribution line
148 -- reference.
149 -- End of comments
150 -- ----------------
151 PROCEDURE CREATE_RELEASE_ADL
152 ( p_api_version in NUMBER,
153 p_commit in varchar2,
154 p_init_msg_list in varchar2,
155 p_validation_level in NUMBER,
156 x_msg_count out nocopy number,
157 x_msg_data out nocopy varchar2,
158 x_return_status out nocopy varchar2,
159 p_interface_obj in out nocopy gms_po_interface_type) ;
160
161 -- =================================================================
162 -- Function : GET_AWARD_NUMBER
163
164 -- API to return the award number
165
166 -- Calling API : PO and REQ summary window post_query triggers.
167
168 -- define function purity WNDS, WNPS for this function.
169
170 -- **********Describe the parameters and return values.
171
172 -- =================================================================
173
174 -- Start of comments
175 -- -----------------
176 -- API Name : GET_AWARD_NUMBER
177 -- Function : the function is used to get an award number for a given award set id.
178 -- Logic : Query awrad id from adl and get award number from gms awards table.
179 -- IN
180 -- : p_award_set_id NUMBER
181 -- ADL : Record identifier.
182 -- End of comments
183 -- ----------------
184 FUNCTION GET_AWARD_NUMBER
185 ( p_api_version in number,
186 p_commit in varchar2,
187 p_init_msg_list in varchar2,
188 p_validation_level in number,
189 x_msg_count out nocopy number,
190 x_msg_data out nocopy varchar2,
191 x_return_status out nocopy varchar2,
192 p_award_set_id in number) return varchar2;
193
194 -- Start of comments
195 -- -----------------
196 -- API Name : GET_AWARD_ID
197 -- Type : This is a Public package program unit.
198 -- Return value : NUMBER ( award_id )
199 -- Pre Reqs : None
200 -- Function : API will determine the value of award_id for the award_number
201 -- passed.
202 -- Logic : select the award id from gms_awards_all
203 -- Calling API : PO_PDOI_DISTRIBUTIONS_SV1 and PO_VENDORS_SV1
204 -- Parameters :
205 -- : Standard parameters
206 -- p_api_version, p_commit, p_init_msg_list,
207 -- p_validation_level, x_msg_count, x_msg_data,
208 -- x_return_status
209 -- IN OUT
210 -- : p_award_number varchar2
211 -- award number defined in the interface tables.
212 -- End of comments
213 -- ----------------
214
215
216 FUNCTION GET_AWARD_ID
217 ( p_api_version IN number,
218 p_commit IN varchar2,
219 p_init_msg_list IN varchar2,
220 p_validation_level IN number,
221 x_msg_count out nocopy number,
222 x_msg_data out nocopy varchar2,
223 x_return_status out nocopy varchar2,
224 p_award_number IN varchar2) return number ;
225
226
227 -- Start of comments
228 -- -----------------
229 -- API Name : validate_transaction
230 -- Type : This is a Public package program unit.
231 -- Pre Reqs : None
232 -- Function : Validate award ,project task related standard validations
233 -- Validations are executed only if grants is enabled.
234 --
235 -- a. Execute validations if grants is implemented.
236 -- b. Make sure that award is entered for a sponsored project.
237 -- c. Make sure that award is not entered for a no sponsored project.
238 -- d. Standard grants validations.
239 -- Logic : call gms standard validations.
240 -- Calling API : PO_PDOI_DISTRIBUTIONS_SV1 and PO_VENDORS_SV1
241 -- Parameters :
242 -- : Standard parameters
243 -- p_api_version, p_commit, p_init_msg_list,
244 -- p_validation_level, x_msg_count, x_msg_data,
245 -- x_return_status
246 -- IN OUT
247 -- : p_project_id ( value of project id )
248 -- p_task_id ( value of task id )
249 -- p_award_id ( value of award id )
250 -- p_expenditure_type ( expenditure type )
251 -- p_expenditure_item_date ( expenditure item date )
252 -- p_calling_module ( package name.procedure name )
253 -- End of comments
254 -- ----------------
255 PROCEDURE validate_transaction
256 ( p_api_version in number,
257 p_commit in varchar2,
258 p_init_msg_list in varchar2,
259 p_validation_level in number,
260 x_msg_count out nocopy number,
261 x_msg_data out nocopy varchar2,
262 x_return_status out nocopy varchar2,
263 p_project_id in number,
264 p_task_id in number,
265 p_award_id in number,
266 p_expenditure_type in varchar2,
267 p_expenditure_item_date in date,
268 p_calling_module in varchar2) ;
269
270
271
272 -- Start of comments
273 -- -----------------
274 -- API Name : get_new_award_set_id
275 -- Type : This is a Public package program unit.
276 -- Pre Reqs : None
277 -- Function : Return award set id next sequence number.
278 -- return null when grants is not implemented.
279 -- Logic : get the next value of award set id sequence
280 -- Calling API : PO_PDOI_DISTRIBUTIONS_SV1 and PO_VENDORS_SV1
281 -- Parameters :
282 -- : Standard parameters
283 -- p_api_version, p_commit, p_init_msg_list,
284 -- p_validation_level, x_msg_count, x_msg_data,
285 -- x_return_status
286 -- End of comments
287 -- ----------------
288 FUNCTION get_new_award_set_id return number ;
289
290 -- Start of comments
291 -- -----------------
292 -- API Name : gms_enabled
293 -- Type : This is a Public package program unit.
294 -- Pre Reqs : None
295 -- Function : Return TRUE if grants is enabled
296 -- return FALSE if grants is not enabled.
297 -- Logic : check if grants is enabled or not.
298 -- Calling API : PO_PDOI_DISTRIBUTIONS_SV1 and PO_VENDORS_SV1
299 -- Parameters :
300 -- : Standard parameters
301 -- p_api_version, p_commit, p_init_msg_list,
302 -- p_validation_level, x_msg_count, x_msg_data,
303 -- x_return_status
304 -- End of comments
305 -- ----------------
306 FUNCTION gms_enabled return boolean ;
307
308 -- Start of comments
312 -- Pre Reqs : None
309 -- -----------------
310 -- API Name : create_pdoi_adls
311 -- Type : This is a Public package program unit.
313 -- Function : create award distribution line for the passed award set id
314 -- and po distribution id.
315 -- Logic : create award distribution line.
316 -- Calling API : PO_PDOI_DISTRIBUTIONS_SV1 and PO_VENDORS_SV1
317 -- Parameters :
318 -- : Standard parameters
319 -- p_api_version, p_commit, p_init_msg_list,
320 -- p_validation_level, x_msg_count, x_msg_data,
321 -- x_return_status
322 -- IN OUT
323 -- :
324 -- p_distribution_id value of po distribution id
325 -- p_distribution_num value of distribution number
326 -- p_project_id project id
327 -- p_task_id task id
328 -- p_award_id award id
329 -- p_award_set_id award set id
330 --
331 -- End of comments
332 -- ----------------
333 PROCEDURE create_pdoi_adls
334 ( p_api_version IN NUMBER,
335 p_commit IN VARCHAR2,
336 p_init_msg_list IN VARCHAR2,
337 p_validation_level IN NUMBER,
338 x_msg_count OUT NOCOPY NUMBER,
339 x_msg_data OUT NOCOPY VARCHAR2,
340 x_return_status OUT NOCOPY VARCHAR2,
341 p_distribution_id IN NUMBER,
342 p_distribution_num IN NUMBER,
343 p_project_id IN NUMBER,
344 p_task_id IN NUMBER,
345 p_award_id IN NUMBER,
346 p_award_set_id IN NUMBER ) ;
347
348 --
349 -- GET_AWARD_NUMBER : the function overloading was created to get the award number in a
350 -- SQL.
351 --
352 FUNCTION GET_AWARD_NUMBER
353 ( p_award_set_id in number) return varchar2;
354
355 -- Start of comments
356 -- -----------------
357 -- API Name : CREATE_PO_ADL
358 -- Function : create award distribution line for a award related PO distributions.
359 -- Parameters :
360 -- : Standard parameters
361 -- p_api_version, p_commit, p_init_msg_list,
362 -- p_validation_level, x_msg_count, x_msg_data,
363 -- x_return_status
364 -- IN
365 -- : p_project_id NUMBER, Project Identifier.
366 -- : p_task_id NUMBER, Task Identifier.
367 -- : p_award_number varchar2, Award Number
368 -- : p_po_distribution_id NUMBER, PO distribution Identifier
369 -- OUT
370 -- : x_award_set_id_out NUMBER
371 -- ADL record identifier for the award information.
372 -- End of comments
373 -- ----------------
374 PROCEDURE CREATE_PO_ADL
375 ( p_api_version in number,
376 p_commit in varchar2,
377 p_init_msg_list in varchar2,
378 p_validation_level in number,
379 x_msg_count out nocopy number,
380 x_msg_data out nocopy varchar2,
381 x_return_status out nocopy varchar2,
382 p_project_id in number,
383 p_task_id in number,
384 p_award_number in varchar2,
385 p_po_distribution_id in number,
386 x_award_set_id_out out nocopy number ) ;
387
388
389 -- Start of comments
390 -- -----------------
391 -- API Name : MAINTAIN_PO_ADL
392 -- Function : Update award details on ADL associated with the PO distributions.
393 -- Parameters :
394 -- : Standard parameters
395 -- p_api_version, p_commit, p_init_msg_list,
396 -- p_validation_level, x_msg_count, x_msg_data,
397 -- x_return_status
398 -- IN
399 -- : p_project_id NUMBER, Project Identifier.
400 -- : p_task_id NUMBER, Task Identifier.
401 -- : p_award_number varchar2, Award Number
402 -- : p_po_distribution_id NUMBER, PO distribution Identifier
403 -- : p_award_set_id_in NUMBER, ADL record identifier.
404 -- OUT
405 -- : x_award_set_id_out NUMBER
406 -- ADL record identifier for the award information.
407 -- x_award_set_id_out will be same as p_award_set_id_in when no new adl is created.
408 -- x_award_set_id_out will be new value when new adl is created when PO distribution
409 -- mismatch or when null award to new award is entered.
410 -- End of comments
411 -- ----------------
412 PROCEDURE MAINTAIN_PO_ADL
413 ( p_api_version in number,
414 p_commit in varchar2,
415 p_init_msg_list in varchar2,
416 p_validation_level in number,
417 x_msg_count out nocopy number,
418 x_msg_data out nocopy varchar2,
419 x_return_status out nocopy varchar2,
420 p_award_set_id_in in number,
421 p_project_id in number,
422 p_task_id in number,
423 p_award_number in varchar2,
424 p_po_distribution_id in number,
425 x_award_set_id_out out nocopy number ) ;
426
427 -- Start of comments
428 -- -----------------
429 -- API Name : DELETE_PO_ADL
430 -- Function : delete the award distribution line for a given po distribution line.
431 -- ADL is deleted when PO distribution is deleted.
432 -- Parameters :
433 -- : Standard parameters
434 -- p_api_version, p_commit, p_init_msg_list,
435 -- p_validation_level, x_msg_count, x_msg_data,
436 -- x_return_status
437 -- IN
438 -- : p_award_set_id_in NUMBER
439 -- Award Set Identifier in ADL record.
440 -- : p_po_distribution_id NUMBER
441 -- PO distribution identifier.
442 -- End of comments
443 -- ----------------
444 PROCEDURE DELETE_PO_ADL
445 ( p_api_version in number,
446 p_commit in varchar2,
447 p_init_msg_list in varchar2,
448 p_validation_level in number,
449 x_msg_count out nocopy number,
450 x_msg_data out nocopy varchar2,
451 x_return_status out nocopy varchar2,
452 p_award_set_id_in in number,
453 p_po_distribution_id in number ) ;
454
455 FUNCTION IS_SPONSORED_PROJECT( p_project_id in NUMBER )
456 return varchar2 ;
457
458 END GMS_PO_API_GRP ;