[Home] [Help]
PACKAGE BODY: APPS.GMS_AWARD_PUB
Source
1 PACKAGE BODY GMS_AWARD_PUB AS
2 -- $Header: gmsawpbb.pls 120.8.12020000.4 2012/08/21 13:30:28 speddi ship $
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'GMS_AWARD_PUB';
5 E_VER_MISMATCH EXCEPTION ;
6
7 G_msg_count NUMBER ;
8 G_msg_data varchar2(2000) ;
9 G_calling_module varchar2(30) ;
10 G_product_code varchar2(3) := 'GMS' ;
11 G_stage varchar2(80) ;
12
13 --
14 -- init_message_stack
15 -- init_message_stack Initialize the the error message PL/SQL
16 -- Table and set the context for the private Package.
17 -- This is called at the begining of the program unit.
18 --
19 -- +++++++++++++
20 PROCEDURE init_message_stack is
21 BEGIN
22 gms_award_pvt.init_message_stack ;
23
24 END init_message_stack ;
25
26 --
27 -- reset_message_flag
28 -- reset_message_flag set the context for the private Package.
29 -- This is called at the end of the program unit.
30 --
31 -- ++++++++++++
32 PROCEDURE reset_message_flag is
33 BEGIN
34 gms_award_pvt.reset_message_flag ;
35
36 END reset_message_flag ;
37
38 --
39 -- add_message_TO_STACK
40 -- add_message_to_stack - This is a private program unit
41 -- defined in this package to add error messages to
42 -- the PL/SQL message table.
43 -- This updates the G_msg_count after adding a message
44 -- to the message variable.
45 --
46
47 -- +++++++++++++
48 PROCEDURE add_message_to_stack( P_Label IN Varchar2,
49 P_token1 IN varchar2 default NULL,
50 P_val1 IN varchar2 default NULL,
51 P_token2 IN varchar2 default NULL,
52 P_val2 in varchar2 default NULL,
53 P_token3 IN varchar2 default NULL,
54 P_val3 in varchar2 default NULL ) is
55 BEGIN
56
57 gms_award_pvt.add_message_to_stack(P_Label, P_token1, P_val1, P_token2, P_val2, P_token3, P_val3 ) ;
58
59
60 END add_message_to_stack ;
61
62 -- SET_RETURN_STATUS
63 -- This routine sets the return status for the failures.
64 -- X_RETURN_STATUS : <S>uccess, [E] Business Rule Violation
65 -- U - Unexpected Error
66 -- P_TYPE := B - Business Validations, E- Exception
67 --
68
69 -- +++++++++++++
70 PROCEDURE set_return_status(X_return_status IN OUT NOCOPY VARCHAR2,
71 p_type in varchar2 DEFAULT 'B' ) is
72 begin
73 gms_award_pvt.set_return_status( X_return_status, p_type ) ;
74
75 END set_return_status ;
76
77 -- =====================================================
78 -- Utility Functions for creating an award
79 -- =====================================================
80
81 --
82 -- get_Funds_ctrl_code
83 -- This is a function defined to return
84 -- funds control code for the corresponding name.
85 -- The code values are as follows
86 -- B- ABSOLUTE
87 -- D- ADVISORY
88 -- N- NONE
89 --
90 FUNCTION get_Funds_ctrl_code( p_fctrl_name varchar2 )
91 return varchar2 is
92 l_dummy varchar2(1) ;
93 begin
94 IF p_fctrl_name = 'ABSOLUTE' THEN
95 l_dummy := 'B' ;
96 ELSIF p_fctrl_name = 'ADVISORY' THEN
97 l_dummy := 'D' ;
98 ELSIF p_fctrl_name = 'NONE' THEN
99 l_dummy := 'N' ;
100 END IF ;
101
102 return l_dummy ;
103 END get_Funds_ctrl_code ;
104
105 --
106 -- proc_set_record
107 -- This is a program unit defined to populate
108 -- record group for the parameters supplied
109 -- to the create_award API.
110 --
111 -- +++++++++++++
112 PROCEDURE proc_set_record (
113 AWARD_NUMBER IN VARCHAR2,
114 AWARD_SHORT_NAME IN VARCHAR2,
115 AWARD_FULL_NAME IN VARCHAR2,
116 FUNDING_SOURCE_ID IN NUMBER,
117 START_DATE_ACTIVE IN DATE,
118 END_DATE_ACTIVE IN DATE,
119 CLOSE_DATE IN DATE,
120 FUNDING_SOURCE_AWARD_NUMBER IN VARCHAR2,
121 AWARD_PURPOSE_CODE IN VARCHAR2,
122 STATUS IN VARCHAR2,
123 ALLOWABLE_SCHEDULE_ID IN NUMBER,
124 IDC_SCHEDULE_ID IN NUMBER,
125 REVENUE_DISTRIBUTION_RULE IN VARCHAR2,
126 BILLING_DISTRIBUTION_RULE IN VARCHAR2,
127 BILLING_FORMAT IN VARCHAR2,
128 BILLING_TERM IN NUMBER,
129 AWARD_PROJECT_ID IN NUMBER,
130 AGREEMENT_ID IN NUMBER,
131 AWARD_TEMPLATE_FLAG IN VARCHAR2,
132 PREAWARD_DATE IN DATE,
133 AWARD_MANAGER_ID IN NUMBER,
134 AGENCY_SPECIFIC_FORM IN VARCHAR2,
135 BILL_TO_CUSTOMER_ID IN NUMBER,
136 TRANSACTION_NUMBER IN VARCHAR2,
137 AMOUNT_TYPE IN VARCHAR2,
138 BOUNDARY_CODE IN VARCHAR2,
139 FUND_CONTROL_LEVEL_AWARD IN VARCHAR2,
140 FUND_CONTROL_LEVEL_TASK IN VARCHAR2,
141 FUND_CONTROL_LEVEL_RES_GRP IN VARCHAR2,
142 FUND_CONTROL_LEVEL_RES IN VARCHAR2,
143 ATTRIBUTE_CATEGORY IN VARCHAR2,
144 ATTRIBUTE1 IN VARCHAR2,
145 ATTRIBUTE2 IN VARCHAR2,
146 ATTRIBUTE3 IN VARCHAR2,
147 ATTRIBUTE4 IN VARCHAR2,
148 ATTRIBUTE5 IN VARCHAR2,
149 ATTRIBUTE6 IN VARCHAR2,
150 ATTRIBUTE7 IN VARCHAR2,
151 ATTRIBUTE8 IN VARCHAR2,
152 ATTRIBUTE9 IN VARCHAR2,
153 ATTRIBUTE10 IN VARCHAR2,
154 ATTRIBUTE11 IN VARCHAR2,
155 ATTRIBUTE12 IN VARCHAR2,
156 ATTRIBUTE13 IN VARCHAR2,
157 ATTRIBUTE14 IN VARCHAR2,
158 ATTRIBUTE15 IN VARCHAR2,
159 TEMPLATE_START_DATE_ACTIVE IN DATE,
160 TEMPLATE_END_DATE_ACTIVE IN DATE,
161 TYPE IN VARCHAR2,
162 ORG_ID IN NUMBER,
163 COST_IND_SCH_FIXED_DATE IN DATE,
164 LABOR_INVOICE_FORMAT_ID IN NUMBER,
165 NON_LABOR_INVOICE_FORMAT_ID IN NUMBER,
166 BILL_TO_ADDRESS_ID IN NUMBER,
167 SHIP_TO_ADDRESS_ID IN NUMBER,
168 LOC_BILL_TO_ADDRESS_ID IN NUMBER,
169 LOC_SHIP_TO_ADDRESS_ID IN NUMBER,
170 AWARD_ORGANIZATION_ID IN NUMBER,
171 HARD_LIMIT_FLAG IN VARCHAR2,
172 INVOICE_LIMIT_FLAG IN VARCHAR2, /*Bug 6642901*/
173 BILLING_OFFSET IN NUMBER,
174 BILLING_CYCLE_ID IN NUMBER,
175 BUDGET_WF_ENABLED_FLAG IN VARCHAR2,
176 PROPOSAL_ID IN NUMBER,
177 AWARD_REC IN OUT NOCOPY gms_awards_all%ROWTYPE ) is
178 BEGIN
179 award_rec.AWARD_NUMBER := AWARD_NUMBER ;
180 award_rec.AWARD_SHORT_NAME := AWARD_SHORT_NAME ;
181 award_rec.AWARD_FULL_NAME := AWARD_FULL_NAME ;
182 award_rec.FUNDING_SOURCE_ID := FUNDING_SOURCE_ID ;
183 award_rec.START_DATE_ACTIVE := START_DATE_ACTIVE ;
184 award_rec.END_DATE_ACTIVE := END_DATE_ACTIVE ;
185 award_rec.CLOSE_DATE := CLOSE_DATE ;
186 award_rec.FUNDING_SOURCE_AWARD_NUMBER := FUNDING_SOURCE_AWARD_NUMBER ;
187 award_rec.AWARD_PURPOSE_CODE := AWARD_PURPOSE_CODE ;
188 award_rec.STATUS := STATUS ;
189 award_rec.ALLOWABLE_SCHEDULE_ID := ALLOWABLE_SCHEDULE_ID ;
190 award_rec.IDC_SCHEDULE_ID := IDC_SCHEDULE_ID ;
191 award_rec.REVENUE_DISTRIBUTION_RULE := REVENUE_DISTRIBUTION_RULE ;
192 award_rec.BILLING_DISTRIBUTION_RULE := BILLING_DISTRIBUTION_RULE ;
193 award_rec.BILLING_FORMAT := BILLING_FORMAT ;
194 award_rec.BILLING_TERM := BILLING_TERM ;
195 award_rec.AWARD_PROJECT_ID := AWARD_PROJECT_ID ;
196 award_rec.AGREEMENT_ID := AGREEMENT_ID ;
197 award_rec.AWARD_TEMPLATE_FLAG := AWARD_TEMPLATE_FLAG ;
198 award_rec.PREAWARD_DATE := PREAWARD_DATE ;
199 award_rec.AWARD_MANAGER_ID := AWARD_MANAGER_ID ;
200 award_rec.AGENCY_SPECIFIC_FORM := AGENCY_SPECIFIC_FORM ;
201 award_rec.BILL_TO_CUSTOMER_ID := BILL_TO_CUSTOMER_ID ;
202 award_rec.TRANSACTION_NUMBER := TRANSACTION_NUMBER ;
203 award_rec.AMOUNT_TYPE := AMOUNT_TYPE ;
204 award_rec.BOUNDARY_CODE := BOUNDARY_CODE ;
205 award_rec.FUND_CONTROL_LEVEL_AWARD := FUND_CONTROL_LEVEL_AWARD ;
206 award_rec.FUND_CONTROL_LEVEL_TASK := FUND_CONTROL_LEVEL_TASK ;
207 award_rec.FUND_CONTROL_LEVEL_RES_GRP := FUND_CONTROL_LEVEL_RES_GRP ;
208 award_rec.FUND_CONTROL_LEVEL_RES := FUND_CONTROL_LEVEL_RES ;
209 award_rec.ATTRIBUTE_CATEGORY := ATTRIBUTE_CATEGORY ;
210 award_rec.ATTRIBUTE1 := ATTRIBUTE1 ;
211 award_rec.ATTRIBUTE2 := ATTRIBUTE2 ;
212 award_rec.ATTRIBUTE3 := ATTRIBUTE3 ;
213 award_rec.ATTRIBUTE4 := ATTRIBUTE4 ;
214 award_rec.ATTRIBUTE5 := ATTRIBUTE5 ;
215 award_rec.ATTRIBUTE6 := ATTRIBUTE6 ;
216 award_rec.ATTRIBUTE7 := ATTRIBUTE7 ;
217 award_rec.ATTRIBUTE8 := ATTRIBUTE8 ;
218 award_rec.ATTRIBUTE9 := ATTRIBUTE9 ;
219 award_rec.ATTRIBUTE10 := ATTRIBUTE10 ;
220 award_rec.ATTRIBUTE11 := ATTRIBUTE11 ;
221 award_rec.ATTRIBUTE12 := ATTRIBUTE12 ;
222 award_rec.ATTRIBUTE13 := ATTRIBUTE13 ;
223 award_rec.ATTRIBUTE14 := ATTRIBUTE14 ;
224 award_rec.ATTRIBUTE15 := ATTRIBUTE15 ;
225 award_rec.TEMPLATE_START_DATE_ACTIVE := TEMPLATE_START_DATE_ACTIVE ;
226 award_rec.TEMPLATE_END_DATE_ACTIVE := TEMPLATE_END_DATE_ACTIVE ;
227 award_rec.TYPE := TYPE ;
228 award_rec.ORG_ID := ORG_ID ;
229 award_rec.COST_IND_SCH_FIXED_DATE := COST_IND_SCH_FIXED_DATE ;
230 award_rec.LABOR_INVOICE_FORMAT_ID := LABOR_INVOICE_FORMAT_ID ;
231 award_rec.NON_LABOR_INVOICE_FORMAT_ID := NON_LABOR_INVOICE_FORMAT_ID ;
232 award_rec.BILL_TO_ADDRESS_ID := BILL_TO_ADDRESS_ID ;
233 award_rec.SHIP_TO_ADDRESS_ID := SHIP_TO_ADDRESS_ID ;
234 award_rec.LOC_BILL_TO_ADDRESS_ID := LOC_BILL_TO_ADDRESS_ID ;
235 award_rec.LOC_SHIP_TO_ADDRESS_ID := LOC_SHIP_TO_ADDRESS_ID ;
236 award_rec.AWARD_ORGANIZATION_ID := AWARD_ORGANIZATION_ID ;
237 award_rec.HARD_LIMIT_FLAG := HARD_LIMIT_FLAG ;
238 award_rec.INVOICE_LIMIT_FLAG := INVOICE_LIMIT_FLAG ; /*Bug 6642901*/
239 award_rec.BILLING_OFFSET := BILLING_OFFSET ;
240 award_rec.BILLING_CYCLE_ID := BILLING_CYCLE_ID ;
241 award_rec.BUDGET_WF_ENABLED_FLAG := BUDGET_WF_ENABLED_FLAG ;
242 award_rec.PROPOSAL_ID := PROPOSAL_ID ;
243 END proc_set_record ;
244 -- ========================================================================================
245 -- End of utility Functions/Procedures for award.
246 -- ========================================================================================
247
248 -- CREATE_AWARD
249 -- Create award is a public API provided to create award
250 -- into grants accounting. This is the API used to
251 -- transfer Legacy system data into grants accounting.
252 -- OUT NOCOPY Parameters meanings
253 -- P_MSG_COUNT : Holds no. of messages in the global
254 -- message table.
255 -- P_MSG_DATE : Holds the message code, if the API
256 -- returned only one error/warning message.
257 -- X_return_status : The indicator of success/Failure
258 -- S- Success, E- and U- Failure
259 -- p_award_id : The Award ID created.
260
261 -- ===============================================================================
262 -- CREATE_AWARD :
263 -- Create award has all the parameters that we have in gms_awards_all table.
264 -- The ID's in the table are replaced by corresponding value. Users must
265 -- provide decode values instead of code values for certain arguments.
266 -- X_return_status : S- Success,
267 -- E- Business Rule Validation error
268 -- U- Unexpected Error
269 -- P_API_VERSION_NUMBER : 1.0
270 -- ===============================================================================
271 -- +++++++++++++
272 PROCEDURE create_award(
273 X_MSG_COUNT OUT NOCOPY NUMBER,
274 X_MSG_DATA OUT NOCOPY VARCHAR2,
275 X_return_status OUT NOCOPY VARCHAR2,
276 X_AWARD_ID OUT NOCOPY NUMBER,
277 P_CALLING_MODULE IN VARCHAR2,
278 P_API_VERSION_NUMBER IN NUMBER,
279 P_LAST_UPDATE_DATE IN DATE,
280 P_LAST_UPDATED_BY IN NUMBER,
281 P_CREATED_BY IN NUMBER,
282 P_CREATION_DATE IN DATE,
283 P_LAST_UPDATE_LOGIN IN NUMBER,
284 P_AWARD_NUMBER IN VARCHAR2,
285 P_AWARD_SHORT_NAME IN VARCHAR2,
286 P_AWARD_FULL_NAME IN VARCHAR2,
287 P_AWARD_START_DATE IN DATE,
288 P_AWARD_END_DATE IN DATE,
289 P_AWARD_CLOSE_DATE IN DATE,
290 P_PREAWARD_DATE IN DATE,
291 P_AWARD_PURPOSE_CODE IN VARCHAR2,
292 P_AWARD_STATUS_CODE IN VARCHAR2,
293 P_AWARD_MANAGER_ID IN NUMBER,
294 P_AWARD_ORGANIZATION_ID IN NUMBER,
295 P_FUNDING_SOURCE_ID IN NUMBER,
296 P_FUNDING_SOURCE_AWARD_NUM IN VARCHAR2,
297 P_ALLOWABLE_SCHEDULE IN VARCHAR2,
298 P_INDIRECT_SCHEDULE IN VARCHAR2,
299 P_COST_IND_SCH_FIXED_DATE IN DATE,
300 P_REVENUE_DISTRIBUTION_RULE IN VARCHAR2,
301 P_BILLING_DISTRIBUTION_RULE IN VARCHAR2,
302 P_BILLING_FORMAT IN VARCHAR2,
303 P_BILLING_TERM_ID IN NUMBER,
304 P_AGENCY_FORM IN VARCHAR2,
305 P_BILL_TO_CUSTOMER_ID IN VARCHAR2,
306 P_LABOR_INVOICE_FORMAT_ID IN VARCHAR2,
307 P_NON_LABOR_INVOICE_FORMAT_ID IN VARCHAR2,
308 P_BILL_TO_ADDRESS_ID IN NUMBER,
309 P_SHIP_TO_ADDRESS_ID IN NUMBER,
310 P_LOC_BILL_TO_ADDRESS_ID IN NUMBER,
311 P_LOC_SHIP_TO_ADDRESS_ID IN NUMBER,
312 P_HARD_LIMIT_FLAG IN VARCHAR2,
313 P_INVOICE_LIMIT_FLAG IN VARCHAR2, /*Bug 6642901*/
314 P_BILLING_OFFSET IN NUMBER,
315 P_BILLING_CYCLE IN VARCHAR2,
316 P_TRANSACTION_NUM IN VARCHAR2,
317 P_AMOUNT_TYPE_CODE IN VARCHAR2,
318 P_BOUNDARY_CODE IN VARCHAR2,
319 P_FUNDS_CONTROL_AT_AWARD IN VARCHAR2,
320 P_FUNDS_CONTROL_AT_TASK IN VARCHAR2,
321 P_FUNDS_CONTROL_AT_RES_GROUP IN VARCHAR2,
322 P_FUNDS_CONTROL_AT_RES IN VARCHAR2,
323 P_ATTRIBUTE_CATEGORY IN VARCHAR2,
324 P_ATTRIBUTE1 IN VARCHAR2,
325 P_ATTRIBUTE2 IN VARCHAR2,
326 P_ATTRIBUTE3 IN VARCHAR2,
327 P_ATTRIBUTE4 IN VARCHAR2,
328 P_ATTRIBUTE5 IN VARCHAR2,
329 P_ATTRIBUTE6 IN VARCHAR2,
330 P_ATTRIBUTE7 IN VARCHAR2,
331 P_ATTRIBUTE8 IN VARCHAR2,
332 P_ATTRIBUTE9 IN VARCHAR2,
333 P_ATTRIBUTE10 IN VARCHAR2,
334 P_ATTRIBUTE11 IN VARCHAR2,
335 P_ATTRIBUTE12 IN VARCHAR2,
336 P_ATTRIBUTE13 IN VARCHAR2,
337 P_ATTRIBUTE14 IN VARCHAR2,
338 P_ATTRIBUTE15 IN VARCHAR2,
339 P_AGREEMENT_TYPE IN VARCHAR2,
340 P_ORG_ID IN NUMBER,
341 P_WF_ENABLED_FLAG IN VARCHAR2,
342 P_PROPOSAL_ID IN NUMBER ) IS
343
344
345 l_api_name varchar2(30) := 'GMS_AWARD_PUB.CREATE_AWARD';
346 L_allow_schedule_id gms_allowability_schedules.allowability_schedule_id%TYPE ;
347 L_error BOOLEAN := FALSE ;
348
349 L_IDC_schedule_type pa_ind_rate_schedules.ind_rate_schedule_type%TYPE ;
350 L_ind_rate_sch_id pa_ind_rate_schedules.ind_rate_sch_id%TYPE ;
351
352 L_award_rec GMS_AWARDS_ALL%ROWTYPE ;
353 L_award_id GMS_AWARDS_ALL.AWARD_ID%TYPE ;
354
355 L_billing_cycle_id pa_billing_cycles.billing_cycle_id%TYPE ;
356 L_fctrl_award gms_awards_all.fund_control_level_award%TYPE;
357 L_fctrl_task gms_awards_all.fund_control_level_task%TYPE;
358 L_fctrl_RGP gms_awards_all.fund_control_level_res_grp%TYPE;
359 L_fctrl_res gms_awards_all.fund_control_level_res%TYPE;
360 L_row_id varchar2(45) ;
361 l_default_org_id GMS_AWARDS_ALL.ORG_ID%TYPE;
362 MO_ORG_INVALID_EXCEPTION EXCEPTION;
363
364
365 CURSOR C_BILL is
366 SELECT billing_cycle_id
367 FROM pa_billing_cycles
368 WHERE trunc(sysdate) between start_date_active
369 and NVL( end_date_active, sysdate )
370 and billing_cycle_name = P_BILLING_CYCLE ;
371
372 CURSOR C_allowable_sch is
373 SELECT allowability_schedule_id
374 FROM gms_allowability_schedules
375 WHERE allow_sch_name = P_ALLOWABLE_SCHEDULE ;
376
377 CURSOR C_IDC_SCH is
378 SELECT ind_rate_sch_id,
379 ind_rate_schedule_type
380 FROM pa_ind_rate_schedules
381 WHERE ind_rate_sch_name = P_INDIRECT_SCHEDULE ;
382
383 BEGIN
384 G_stage := 'CREATE_AWARD_BEGINS' ;
385 init_message_stack ;
386
387 savepoint CREATE_AWARD_SAVE ;
388 X_return_status := FND_API.G_RET_STS_SUCCESS;
389
390 G_stage := 'FND_API.Compatible_API_Call' ;
391
392 IF NOT FND_API.Compatible_API_Call ( g_api_version_number ,
393 p_api_version_number ,
394 l_api_name ,
395 G_PKG_NAME )
396 THEN
397 --RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
398 RAISE e_ver_mismatch ;
399 END IF ;
400
401 --=============================
402 -- Shared Service Enhancement
403 --=============================
404 G_stage := 'MOAC INIT';
405
406 MO_GLOBAL.INIT('GMS');
407
408 l_default_org_id := MO_GLOBAL.get_valid_org(p_org_id);
409
410 IF l_default_org_id is null then
411 FND_MESSAGE.SET_NAME ('MO',' MO_ORG_INVALID');
412 RAISE MO_ORG_INVALID_EXCEPTION;
413 END IF;
414
415
416 -- ==============================
417 -- Convert Names/Decode into ID's.
418 -- ==============================
419 G_stage := 'ID-NAME-CONV' ;
420
421 IF P_ALLOWABLE_SCHEDULE is not NULL THEN
422 OPEN C_allowable_sch ;
423 FETCH C_allowable_sch into L_allow_schedule_id ;
424
425 IF C_allowable_sch%NOTFOUND THEN
426 add_message_to_stack( P_label => 'GMS_AWD_ACD_INVALID' ) ;
427 l_error := TRUE ;
428 END IF ;
429
430 CLOSE C_allowable_sch ;
431 END IF ;
432
433 IF P_INDIRECT_SCHEDULE is not NULL THEN
434 OPEN C_IDC_SCH ;
435 FETCH C_IDC_SCH into L_ind_rate_sch_id, L_IDC_schedule_type ;
436
437 IF C_IDC_SCH%NOTFOUND THEN
438 add_message_to_stack( P_label => 'GMS_IDC_SCH_INVALID' ) ;
439 l_error := TRUE ;
440 END IF ;
441
442 CLOSE C_IDC_SCH ;
443 END IF ;
444
445 IF P_billing_cycle is not NULL THEN
446 OPEN C_bill ;
447 FETCH C_bill into L_billing_cycle_id ;
448
449 IF C_BILL%NOTFOUND THEN
450 add_message_to_stack( P_label => 'GMS_BILL_CYC_INVALID' ) ;
451 l_error := TRUE ;
452 END IF ;
453
454 CLOSE C_BILL ;
455 END IF ;
456
457 IF NVL(P_FUNDS_CONTROL_AT_AWARD , 'ABSOLUTE') not in ( 'ABSOLUTE', 'ADVISORY', 'NONE' )
458 THEN
459 add_message_to_stack( P_label => 'GMS_FUNDS_CTRL_AWD_INVALID' ) ;
460 l_error := TRUE ;
461 END IF ;
462
463 IF NVL(P_FUNDS_CONTROL_AT_TASK , 'ABSOLUTE') not in ( 'ABSOLUTE', 'ADVISORY', 'NONE' )
464 THEN
465 add_message_to_stack( P_label => 'GMS_FUNDS_CTRL_TASK_INVALID' ) ;
466 l_error := TRUE ;
467 END IF ;
468
469 IF NVL(P_FUNDS_CONTROL_AT_RES_GROUP , 'ABSOLUTE') not in ( 'ABSOLUTE', 'ADVISORY', 'NONE' )
470 THEN
471 add_message_to_stack( P_label => 'GMS_FUNDS_CTRL_RGP_INVALID' ) ;
472 l_error := TRUE ;
473 END IF ;
474
475 IF NVL(P_FUNDS_CONTROL_AT_RES , 'ABSOLUTE') not in ( 'ABSOLUTE', 'ADVISORY', 'NONE' )
476 THEN
477 add_message_to_stack( P_label => 'GMS_FUNDS_CTRL_RES_INVALID' ) ;
478 l_error := TRUE ;
479 END IF ;
480
481 L_fctrl_award := get_funds_ctrl_code(P_FUNDS_CONTROL_AT_AWARD ) ;
482 L_fctrl_task := get_funds_ctrl_code(P_FUNDS_CONTROL_AT_TASK ) ;
483 L_fctrl_RGP := get_funds_ctrl_code(P_FUNDS_CONTROL_AT_RES_GROUP ) ;
484 L_fctrl_res := get_funds_ctrl_code(P_FUNDS_CONTROL_AT_RES ) ;
485
486 If l_error then
487 set_return_status(X_return_status, 'B' ) ;
488 END IF ;
489
490 G_stage := 'SET RECORD PARAM' ;
491
492 proc_set_record (
493 P_AWARD_NUMBER,
494 P_AWARD_SHORT_NAME,
495 P_AWARD_FULL_NAME,
496 P_FUNDING_SOURCE_ID,
497 P_AWARD_START_DATE,
498 P_AWARD_END_DATE,
499 P_AWARD_CLOSE_DATE,
500 P_FUNDING_SOURCE_AWARD_NUM,
501 P_AWARD_PURPOSE_CODE,
502 P_AWARD_STATUS_CODE,
503 L_allow_schedule_id,
504 L_ind_rate_sch_id,
505 P_REVENUE_DISTRIBUTION_RULE ,
506 P_BILLING_DISTRIBUTION_RULE ,
507 P_BILLING_FORMAT ,
508 P_BILLING_TERM_ID ,
509 NULL ,
510 NULL,
511 'DEFERRED',
512 P_PREAWARD_DATE,
513 P_AWARD_MANAGER_ID,
514 P_AGENCY_FORM,
515 P_BILL_TO_CUSTOMER_ID,
516 P_TRANSACTION_NUM ,
517 P_AMOUNT_TYPE_CODE,
518 P_BOUNDARY_CODE,
519 L_fctrl_award,
520 L_fctrl_task,
521 L_fctrl_rgp,
522 L_fctrl_res,
523 P_ATTRIBUTE_CATEGORY,
524 P_ATTRIBUTE1,
525 P_ATTRIBUTE2,
526 P_ATTRIBUTE3,
527 P_ATTRIBUTE4,
528 P_ATTRIBUTE5,
529 P_ATTRIBUTE6,
530 P_ATTRIBUTE7,
531 P_ATTRIBUTE8,
532 P_ATTRIBUTE9,
533 P_ATTRIBUTE10,
534 P_ATTRIBUTE11,
535 P_ATTRIBUTE12,
536 P_ATTRIBUTE13,
537 P_ATTRIBUTE14,
538 P_ATTRIBUTE15,
539 NULL,
540 NULL ,
541 P_AGREEMENT_TYPE ,
542 --P_ORG_ID ,
543 l_default_org_id,
544 P_COST_IND_SCH_FIXED_DATE ,
545 P_LABOR_INVOICE_FORMAT_ID ,
546 P_NON_LABOR_INVOICE_FORMAT_ID ,
547 P_BILL_TO_ADDRESS_ID ,
548 P_SHIP_TO_ADDRESS_ID ,
549 P_LOC_BILL_TO_ADDRESS_ID ,
550 P_LOC_SHIP_TO_ADDRESS_ID ,
551 P_AWARD_ORGANIZATION_ID,
552 P_HARD_LIMIT_FLAG ,
553 P_INVOICE_LIMIT_FLAG , /*Bug 6642901*/
554 P_BILLING_OFFSET ,
555 L_billing_cycle_id,
556 P_WF_ENABLED_FLAG ,
557 P_PROPOSAL_ID ,
558 L_AWARD_REC ) ;
559
560 l_award_rec.last_updated_by := NVL(P_LAST_UPDATED_BY, fnd_global.user_id) ;
561 l_award_rec.last_update_date := NVL(P_LAST_UPDATE_DATE, SYSDATE) ;
562 l_award_rec.last_updated_by := NVL(P_LAST_UPDATED_BY, fnd_global.user_id) ;
563 l_award_rec.created_by := NVL(P_CREATED_BY, fnd_global.user_id ) ;
564 l_award_rec.creation_date := NVL(P_CREATION_DATE, SYSDATE) ;
565 l_award_rec.last_update_login := NVL(P_LAST_UPDATE_LOGIN, fnd_global.user_id ) ;
566 l_award_rec.award_number := P_AWARD_NUMBER ;
567
568 G_stage := 'gms_award_pvt.create_award' ;
569 gms_award_pvt.create_award( X_msg_count,
570 X_MSG_DATA ,
571 X_return_status ,
572 L_ROW_ID ,
573 X_AWARD_ID ,
574 P_CALLING_MODULE,
575 P_API_VERSION_NUMBER,
576 L_AWARD_REC ) ;
577
578 reset_message_flag ;
579 EXCEPTION
580 WHEN e_ver_mismatch THEN
581 add_message_to_stack( P_label => 'GMS_API_VER_MISMATCH' ) ;
582 set_return_status(X_return_status, 'B' ) ;
583 X_msg_count := G_msg_count ;
584 X_msg_data := G_msg_data ;
585
586 WHEN fnd_api.g_exc_error THEN
587 ROLLBACK TO create_award_save ;
588 set_return_status(X_return_status, 'B' ) ;
589 X_msg_count := G_msg_count ;
590 X_msg_data := G_msg_data ;
591 WHEN others THEN
592 ROLLBACK TO create_award_save;
593 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
594 FND_MSG_PUB.add_exc_msg
595 ( p_pkg_name => G_PKG_NAME
596 , p_procedure_name => l_api_name );
597 FND_MSG_PUB.Count_And_Get
598 ( p_count => X_msg_count ,
599 p_data => X_msg_data );
600
601 END create_award ;
602
603 --===============================================================================
604 -- COPY_AWARD :
605 -- Copy award has all the parameters that we have in quick entry for award.
606 -- The ID's in the table are replaced by corresponding value. Users must
607 -- provide decode values instead of code values.
608 -- X_return_status : S- Success,
609 -- E- Business Rule Validation error
610 -- U- Unexpected Error
611 -- P_API_VERSION_NUMBER : 1.0
612 -- ===============================================================================
613 -- +++++++++++++
614 PROCEDURE copy_award(
615 X_MSG_COUNT OUT NOCOPY NUMBER,
616 X_MSG_DATA OUT NOCOPY VARCHAR2,
617 X_return_status OUT NOCOPY VARCHAR2,
618 X_AWARD_ID OUT NOCOPY NUMBER,
619 P_CALLING_MODULE IN VARCHAR2,
620 P_API_VERSION_NUMBER IN NUMBER,
621 P_AWARD_BASE_ID IN NUMBER,
622 P_AWARD_NUMBER IN VARCHAR2,
623 P_AWARD_SHORT_NAME IN VARCHAR2,
624 P_AWARD_FULL_NAME IN VARCHAR2,
625 P_AWARD_START_DATE IN DATE,
626 P_AWARD_END_DATE IN DATE,
627 P_AWARD_CLOSE_DATE IN DATE,
628 P_PREAWARD_DATE IN DATE,
629 P_AWARD_PURPOSE_CODE IN VARCHAR2,
630 P_AWARD_STATUS_CODE IN VARCHAR2,
631 P_AWARD_MANAGER_ID IN NUMBER,
632 P_AWARD_ORGANIZATION_ID IN NUMBER,
633 P_FUNDING_SOURCE_ID IN NUMBER,
634 P_FUNDING_SOURCE_AWARD_NUM IN VARCHAR2,
635 P_ALLOWABLE_SCHEDULE IN VARCHAR2,
636 P_INDIRECT_SCHEDULE IN VARCHAR2,
637 P_COST_IND_SCH_FIXED_DATE IN DATE,
638 P_REVENUE_DISTRIBUTION_RULE IN VARCHAR2,
639 P_BILLING_DISTRIBUTION_RULE IN VARCHAR2,
640 P_BILLING_TERM_ID IN NUMBER,
641 P_LABOR_INVOICE_FORMAT_ID IN VARCHAR2,
642 P_NON_LABOR_INVOICE_FORMAT_ID IN VARCHAR2,
643 P_BILLING_CYCLE IN VARCHAR2,
644 P_AMOUNT_TYPE_CODE IN VARCHAR2,
645 P_BOUNDARY_CODE IN VARCHAR2,
646 P_AGREEMENT_TYPE IN VARCHAR2,
647 P_PROPOSAL_ID IN NUMBER ) is
648 BEGIN
649 NULL ;
650 END copy_award ;
651
652
653 --
654 -- proc_installment_set_record
655 -- This is a program unit defined to populate
656 -- record group for the parameters supplied
657 -- to the create_installment API.
658 --
659 -- +++++++++++++
660 PROCEDURE proc_installment_set_record ( /* added the program for bug 12720195 */
661 AWARD_ID IN NUMBER ,
662 --INSTALLMENT_NUMBER IN NUMBER ,
663 INSTALLMENT_NUMBER IN VARCHAR2 , --Added for bug14319593
664 INSTALLMENT_TYPE_CODE IN VARCHAR2 ,
665 DESCRIPTION IN VARCHAR2 ,
666 ISSUE_DATE IN DATE ,
667 INSTALLMENT_START_DATE IN DATE ,
668 INSTALLMENT_END_DATE IN DATE ,
669 INSTALLMENT_CLOSE_DATE IN DATE ,
670 ACTIVE_FLAG IN VARCHAR2 ,
671 BILLABLE_FLAG IN VARCHAR2 ,
672 DIRECT_COST IN NUMBER ,
673 INDIRECT_COST IN NUMBER ,
674 ATTRIBUTE_CATEGORY IN VARCHAR2 ,
675 ATTRIBUTE1 IN VARCHAR2 ,
676 ATTRIBUTE2 IN VARCHAR2 ,
677 ATTRIBUTE3 IN VARCHAR2 ,
678 ATTRIBUTE4 IN VARCHAR2 ,
679 ATTRIBUTE5 IN VARCHAR2 ,
680 ATTRIBUTE6 IN VARCHAR2 ,
681 ATTRIBUTE7 IN VARCHAR2 ,
682 ATTRIBUTE8 IN VARCHAR2 ,
683 ATTRIBUTE9 IN VARCHAR2 ,
684 ATTRIBUTE10 IN VARCHAR2 ,
685 ATTRIBUTE11 IN VARCHAR2 ,
686 ATTRIBUTE12 IN VARCHAR2 ,
687 ATTRIBUTE13 IN VARCHAR2 ,
688 ATTRIBUTE14 IN VARCHAR2 ,
689 ATTRIBUTE15 IN VARCHAR2 ,
690 PROPOSAL_ID IN NUMBER ,
691 INSTALLMENT_REC IN OUT NOCOPY gms_installments%ROWTYPE ) is
692 BEGIN
693 INSTALLMENT_REC.AWARD_ID := AWARD_ID ;
694 INSTALLMENT_REC.INSTALLMENT_NUM := INSTALLMENT_NUMBER ;
695 INSTALLMENT_REC.TYPE := INSTALLMENT_TYPE_CODE ;
696 INSTALLMENT_REC.DESCRIPTION := DESCRIPTION ;
697 INSTALLMENT_REC.ISSUE_DATE := ISSUE_DATE ;
698 INSTALLMENT_REC.START_DATE_ACTIVE := INSTALLMENT_START_DATE ;
699 INSTALLMENT_REC.END_DATE_ACTIVE := INSTALLMENT_END_DATE ;
700 INSTALLMENT_REC.CLOSE_DATE := INSTALLMENT_CLOSE_DATE ;
701 INSTALLMENT_REC.ACTIVE_FLAG := ACTIVE_FLAG ;
702 INSTALLMENT_REC.BILLABLE_FLAG := BILLABLE_FLAG ;
703 INSTALLMENT_REC.DIRECT_COST := DIRECT_COST ;
704 INSTALLMENT_REC.INDIRECT_COST := INDIRECT_COST ;
705 INSTALLMENT_REC.ATTRIBUTE_CATEGORY := ATTRIBUTE_CATEGORY ;
706 INSTALLMENT_REC.ATTRIBUTE1 := ATTRIBUTE1 ;
707 INSTALLMENT_REC.ATTRIBUTE2 := ATTRIBUTE2 ;
708 INSTALLMENT_REC.ATTRIBUTE3 := ATTRIBUTE3 ;
709 INSTALLMENT_REC.ATTRIBUTE4 := ATTRIBUTE4 ;
710 INSTALLMENT_REC.ATTRIBUTE5 := ATTRIBUTE5 ;
711 INSTALLMENT_REC.ATTRIBUTE6 := ATTRIBUTE6 ;
712 INSTALLMENT_REC.ATTRIBUTE7 := ATTRIBUTE7 ;
713 INSTALLMENT_REC.ATTRIBUTE8 := ATTRIBUTE8 ;
714 INSTALLMENT_REC.ATTRIBUTE9 := ATTRIBUTE9 ;
715 INSTALLMENT_REC.ATTRIBUTE10 := ATTRIBUTE10 ;
716 INSTALLMENT_REC.ATTRIBUTE11 := ATTRIBUTE11 ;
717 INSTALLMENT_REC.ATTRIBUTE12 := ATTRIBUTE12 ;
718 INSTALLMENT_REC.ATTRIBUTE13 := ATTRIBUTE13 ;
719 INSTALLMENT_REC.ATTRIBUTE14 := ATTRIBUTE14 ;
720 INSTALLMENT_REC.ATTRIBUTE15 := ATTRIBUTE15 ;
721 INSTALLMENT_REC.PROPOSAL_ID := PROPOSAL_ID ;
722 END proc_installment_set_record ;
723 -- ========================================================================================
724 -- End of utility Functions/Procedures for installment.
725 -- ========================================================================================
726
727
728 -- ===============================================================================
729 -- CREATE_INSTALLMENT :
730 -- Create award installment has all the parameters that we have in gms_installment table.
731 -- The ID's in the table are replaced by corresponding value. Users must
732 -- provide decode values instead of code values.
733 -- X_return_status : S- Success,
734 -- E- Business Rule Validation error
735 -- U- Unexpected Error
736 -- P_API_VERSION_NUMBER : 1.0
737 -- ===============================================================================
738 -- +++++++++++++
739 PROCEDURE CREATE_INSTALLMENT
740 (X_MSG_COUNT OUT NOCOPY NUMBER ,
741 X_MSG_DATA OUT NOCOPY VARCHAR2 ,
742 X_return_status OUT NOCOPY VARCHAR2 ,
743 X_INSTALLMENT_ID OUT NOCOPY NUMBER ,
744 P_CALLING_MODULE IN VARCHAR2 ,
745 P_API_VERSION_NUMBER IN NUMBER,
746 P_LAST_UPDATE_DATE IN DATE ,
747 P_LAST_UPDATED_BY IN NUMBER ,
748 P_CREATED_BY IN NUMBER ,
749 P_CREATION_DATE IN DATE ,
750 P_LAST_UPDATE_LOGIN IN NUMBER ,
751 P_AWARD_NUMBER IN VARCHAR2 ,
752 --P_INSTALLMENT_NUMBER IN NUMBER ,
753 P_INSTALLMENT_NUMBER IN VARCHAR2 , --Added for bug14319593
754 P_INSTALLMENT_TYPE_CODE IN VARCHAR2 ,
755 P_DESCRIPTION IN VARCHAR2 ,
756 P_ISSUE_DATE IN DATE ,
757 P_INSTALLMENT_START_DATE IN DATE ,
758 P_INSTALLMENT_END_DATE IN DATE ,
759 P_INSTALLMENT_CLOSE_DATE IN DATE ,
760 P_ACTIVE_FLAG IN VARCHAR2 ,
761 P_BILLABLE_FLAG IN VARCHAR2 ,
762 P_DIRECT_COST IN NUMBER ,
763 P_INDIRECT_COST IN NUMBER ,
764 P_ATTRIBUTE_CATEGORY IN VARCHAR2 ,
765 P_ATTRIBUTE1 IN VARCHAR2 ,
766 P_ATTRIBUTE2 IN VARCHAR2 ,
767 P_ATTRIBUTE3 IN VARCHAR2 ,
768 P_ATTRIBUTE4 IN VARCHAR2 ,
769 P_ATTRIBUTE5 IN VARCHAR2 ,
770 P_ATTRIBUTE6 IN VARCHAR2 ,
771 P_ATTRIBUTE7 IN VARCHAR2 ,
772 P_ATTRIBUTE8 IN VARCHAR2 ,
773 P_ATTRIBUTE9 IN VARCHAR2 ,
774 P_ATTRIBUTE10 IN VARCHAR2 ,
775 P_ATTRIBUTE11 IN VARCHAR2 ,
776 P_ATTRIBUTE12 IN VARCHAR2 ,
777 P_ATTRIBUTE13 IN VARCHAR2 ,
778 P_ATTRIBUTE14 IN VARCHAR2 ,
779 P_ATTRIBUTE15 IN VARCHAR2 ,
780 P_PROPOSAL_ID IN NUMBER
781 ) IS
782
783 /* added below code for 12720195 */
784 l_api_name varchar2(50) := 'GMS_AWARD_PUB.CREATE_INSTALLMENT';
785 L_error BOOLEAN := FALSE ;
786 L_validate BOOLEAN := FALSE; --TRUE ;
787 /* Changed for bug14456621 */
788 L_installment_rec GMS_INSTALLMENTS%ROWTYPE ;
789 L_installment_id GMS_INSTALLMENTS.INSTALLMENT_ID%TYPE ;
790 L_row_id varchar2(45) ;
791 L_award_id GMS_INSTALLMENTS.AWARD_ID%TYPE;
792
793 CURSOR C_AWARD is
794 SELECT award_id
795 FROM gms_awards_all
796 WHERE award_number = P_AWARD_NUMBER;
797
798 BEGIN
799 /* NULL ; */ /* commented the line and added below code for 12720195 */
800
801 G_stage := 'CREATE_INSTALLMENT_BEGINS' ;
802 init_message_stack ;
803
804 savepoint CREATE_INSTALLMENT_SAVE ;
805 X_return_status := FND_API.G_RET_STS_SUCCESS;
806
807 G_stage := 'FND_API.Compatible_API_Call' ;
808
809 IF NOT FND_API.Compatible_API_Call ( g_api_version_number ,
810 p_api_version_number ,
811 l_api_name ,
812 G_PKG_NAME )
813 THEN
814 --RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
815 RAISE e_ver_mismatch ;
816 END IF ;
817
818 G_stage := 'SET RECORD PARAM' ;
819
820
821 OPEN C_AWARD ;
822 FETCH C_AWARD into L_award_id ;
823 IF C_AWARD%NOTFOUND THEN
824 add_message_to_stack( P_label => 'GMS_AWARD_INVALID' ) ;
825 l_error := TRUE ;
826 END IF ;
827
828 CLOSE C_AWARD ;
829
830
831 proc_installment_set_record (
832 L_award_id,
833 P_INSTALLMENT_NUMBER,
834 P_INSTALLMENT_TYPE_CODE ,
835 P_DESCRIPTION,
836 P_ISSUE_DATE,
837 P_INSTALLMENT_START_DATE ,
838 P_INSTALLMENT_END_DATE ,
839 P_INSTALLMENT_CLOSE_DATE ,
840 P_ACTIVE_FLAG ,
841 P_BILLABLE_FLAG ,
842 P_DIRECT_COST ,
843 P_INDIRECT_COST ,
844 P_ATTRIBUTE_CATEGORY ,
845 P_ATTRIBUTE1 ,
846 P_ATTRIBUTE2 ,
847 P_ATTRIBUTE3 ,
848 P_ATTRIBUTE4 ,
849 P_ATTRIBUTE5 ,
850 P_ATTRIBUTE6 ,
851 P_ATTRIBUTE7 ,
852 P_ATTRIBUTE8 ,
853 P_ATTRIBUTE9 ,
854 P_ATTRIBUTE10 ,
855 P_ATTRIBUTE11 ,
856 P_ATTRIBUTE12 ,
857 P_ATTRIBUTE13 ,
858 P_ATTRIBUTE14 ,
859 P_ATTRIBUTE15 ,
860 P_PROPOSAL_ID ,
861 L_installment_rec );
862
863 l_installment_rec.last_updated_by := NVL(P_LAST_UPDATED_BY, fnd_global.user_id) ;
864 l_installment_rec.last_update_date := NVL(P_LAST_UPDATE_DATE, SYSDATE) ;
865 l_installment_rec.created_by := NVL(P_CREATED_BY, fnd_global.user_id ) ;
866 l_installment_rec.creation_date := NVL(P_CREATION_DATE, SYSDATE) ;
867 l_installment_rec.last_update_login := NVL(P_LAST_UPDATE_LOGIN, fnd_global.user_id ) ;
868
869 G_stage := 'gms_award_pvt.create_installment' ;
870 gms_award_pvt.create_installment( X_msg_count,
871 X_MSG_DATA ,
872 X_return_status ,
873 L_ROW_ID ,
874 X_INSTALLMENT_ID ,
875 P_CALLING_MODULE,
876 P_API_VERSION_NUMBER,
877 L_validate,
878 L_installment_rec ) ;
879
880 reset_message_flag ;
881
882 EXCEPTION
883 WHEN E_VER_MISMATCH THEN
884 add_message_to_stack( P_label => 'GMS_API_VER_MISMATCH',
885 p_token1 => 'SUPVER',
886 P_VAL1 => g_api_version_number) ;
887 set_return_status(X_return_status, 'B' ) ;
888 x_msg_count := G_msg_count ;
889 x_msg_data := G_msg_data ;
890
891 WHEN OTHERS THEN
892 ROLLBACK TO CREATE_INSTALLMENT_SAVE ;
893 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
894
895 FND_MSG_PUB.add_exc_msg
896 ( p_pkg_name => G_PKG_NAME
897 , p_procedure_name => l_api_name );
898
899 FND_MSG_PUB.Count_And_Get
900 ( p_count => x_msg_count ,
901 p_data => x_msg_data );
902
903 END create_installment ;
904
905
906 -- ==========================================================================================
907 -- Personal or Award Roles are user defined positions or functions that people perform in
908 -- activities funded by an award. Each Personnel or Award Role is linked to an individual
909 -- Award .
910 -- ==========================================================================================
911 -- +++++++++++++
912 PROCEDURE CREATE_PERSONNEL
913 (X_MSG_COUNT OUT NOCOPY NUMBER ,
914 X_MSG_DATA OUT NOCOPY VARCHAR2 ,
915 X_return_status OUT NOCOPY VARCHAR2 ,
916 X_PERSONNEL_ID OUT NOCOPY NUMBER ,
917 P_CALLING_MODULE IN VARCHAR2 ,
918 P_API_VERSION_NUMBER IN NUMBER ,
919 P_LAST_UPDATE_DATE IN DATE ,
920 P_LAST_UPDATED_BY IN NUMBER ,
921 P_CREATED_BY IN NUMBER ,
922 P_CREATION_DATE IN DATE ,
923 P_LAST_UPDATE_LOGIN IN NUMBER,
924 P_AWARD_NUMBER IN VARCHAR2 ,
925 P_AWARD_ROLE_CODE IN VARCHAR2 ,
926 P_PERSON_ID IN VARCHAR2 ,
927 P_START_DATE_ACTIVE IN DATE ,
928 P_END_DATE_ACTIVE IN DATE ,
929 P_REQUIRED_FLAG IN VARCHAR2
930 )IS
931 BEGIN
932 NULL ;
933 END create_personnel ;
934
935
936 -- ===========================================================================
937 -- Award terms and conditions are stipulated by the Grantor that are indicated
938 -- in an agreement or contract.
939 -- ===========================================================================
940 -- +++++++++++++
941 PROCEDURE CREATE_TERM_CONDITION
942 (X_MSG_COUNT OUT NOCOPY NUMBER ,
943 X_MSG_DATA OUT NOCOPY VARCHAR2 ,
944 X_return_status OUT NOCOPY VARCHAR2 ,
945 P_CALLING_MODULE IN VARCHAR2 ,
946 P_API_VERSION_NUMBER IN NUMBER ,
947 P_LAST_UPDATE_DATE IN DATE ,
948 P_LAST_UPDATED_BY IN NUMBER ,
949 P_CREATED_BY IN NUMBER ,
950 P_CREATION_DATE IN DATE ,
951 P_LAST_UPDATE_LOGIN IN NUMBER ,
952 P_AWARD_NUMBER IN VARCHAR2 ,
953 P_CATEGORY_NAME IN VARCHAR2 ,
954 P_TERM_ID IN NUMBER ,
955 P_OPERAND IN VARCHAR2 ,
956 P_VALUE IN NUMBER
957 ) is
958 BEGIN
959 NULL ;
960 END create_term_condition ;
961
962
963 -- =============================================================================
964 -- Reference Numbers are user defined values or characters assigned to an award
965 -- for identification purposes.
966 -- =============================================================================
967 PROCEDURE CREATE_REFERENCE_NUMBER
968 (X_MSG_COUNT OUT NOCOPY NUMBER ,
969 X_MSG_DATA OUT NOCOPY VARCHAR2 ,
970 X_return_status OUT NOCOPY VARCHAR2 ,
971 P_CALLING_MODULE IN VARCHAR2 ,
972 P_API_VERSION_NUMBER IN NUMBER ,
973 P_LAST_UPDATE_DATE IN DATE,
974 P_LAST_UPDATED_BY IN NUMBER ,
975 P_CREATED_BY IN NUMBER ,
976 P_CREATION_DATE IN DATE ,
977 P_LAST_UPDATE_LOGIN IN NUMBER ,
978 P_AWARD_NUMBER IN VARCHAR2 ,
979 P_REFERENCE_TYPE IN VARCHAR2 ,
980 P_REFERENCE_VALUE IN VARCHAR2 ,
981 P_REQUIRED_FLAG IN VARCHAR2
982 ) is
983 BEGIN
984 NULL ;
985 END create_reference_number ;
986
987
988 -- ==========================================================
989 -- Create Contacts
990 -- ==========================================================
991
992 PROCEDURE CREATE_CONTACT
993 (X_MSG_COUNT OUT NOCOPY NUMBER ,
994 X_MSG_DATA OUT NOCOPY VARCHAR2 ,
995 X_RETURN_STATUS OUT NOCOPY VARCHAR2 ,
996 P_CALLING_MODULE IN VARCHAR2 ,
997 P_API_VERSION_NUMBER IN NUMBER ,
998 P_LAST_UPDATE_DATE IN DATE,
999 P_LAST_UPDATED_BY IN NUMBER ,
1000 P_CREATED_BY IN NUMBER ,
1001 P_CREATION_DATE IN DATE ,
1002 P_LAST_UPDATE_LOGIN IN NUMBER ,
1003 P_AWARD_NUMBER IN VARCHAR2 ,
1004 P_CONTACT_ID IN NUMBER ,
1005 P_PRIMARY_FLAG IN VARCHAR2 ,
1006 P_USAGE_CODE IN VARCHAR2
1007 ) IS
1008 BEGIN
1009
1010 NULL ;
1011 END create_contact ;
1012
1013 -- ==========================================================
1014 -- Create Reports
1015 -- ==========================================================
1016 PROCEDURE CREATE_REPORT
1017 (X_MSG_COUNT OUT NOCOPY NUMBER ,
1018 X_MSG_DATA OUT NOCOPY VARCHAR2 ,
1019 X_RETURN_STATUS OUT NOCOPY VARCHAR2 ,
1020 X_DEFAULT_REPORT_ID OUT NOCOPY NUMBER ,
1021 P_CALLING_MODULE IN VARCHAR2 ,
1022 P_API_VERSION_NUMBER IN NUMBER ,
1023 P_LAST_UPDATE_DATE IN DATE,
1024 P_LAST_UPDATED_BY IN NUMBER ,
1025 P_CREATED_BY IN NUMBER ,
1026 P_CREATION_DATE IN DATE ,
1027 P_LAST_UPDATE_LOGIN IN NUMBER ,
1028 P_AWARD_NUMBER IN VARCHAR2 ,
1029 P_REPORT_NAME IN VARCHAR2 ,
1030 P_FREQUENCY_CODE IN VARCHAR2 ,
1031 P_DUE_WITHIN_DAYS IN NUMBER ,
1032 P_SITE_USE_ID IN NUMBER ,
1033 P_NUMBER_OF_COPIES IN NUMBER
1034 ) IS
1035 BEGIN
1036 NULL ;
1037 END create_report ;
1038
1039
1040 /* added below procedure for 12943930 */
1041 -- ==========================================================
1042 -- Add Funding
1043 -- ==========================================================
1044 PROCEDURE ADD_FUNDING
1045 (X_MSG_COUNT IN OUT NOCOPY NUMBER ,
1046 X_MSG_DATA IN OUT NOCOPY VARCHAR2 ,
1047 X_RETURN_STATUS IN OUT NOCOPY VARCHAR2 ,
1048 X_GMS_PROJECT_FUNDING_ID IN OUT NOCOPY NUMBER ,
1049 X_ROW_ID OUT NOCOPY VARCHAR2 ,
1050 P_CALLING_MODULE IN VARCHAR2 ,
1051 P_API_VERSION_NUMBER IN NUMBER ,
1052 P_AWARD_ID IN NUMBER,
1053 P_INSTALLMENT_ID IN NUMBER,
1054 P_PROJECT_ID IN NUMBER,
1055 P_TASK_ID IN NUMBER,
1056 P_AMOUNT IN NUMBER,
1057 P_FUNDING_DATE IN DATE
1058 ) IS
1059
1060 l_api_name VARCHAR2(30) := 'ADD_FUNDING' ;
1061
1062 BEGIN
1063
1064
1065 G_stage := 'ADD_FUNDING_BEGINS' ;
1066
1067 init_message_stack;
1068
1069 G_msg_count := X_MSG_COUNT ;
1070 G_msg_data := X_MSG_DATA ;
1071 G_calling_module := P_CALLING_MODULE ;
1072
1073
1074 -- ============================
1075 -- Initialize the return status
1076 -- ============================
1077
1078 savepoint add_funding_pub;
1079
1080 G_stage := 'FND_API.Compatible_API_Call' ;
1081
1082 IF NOT FND_API.Compatible_API_Call ( g_api_version_number ,
1083 p_api_version_number ,
1084 l_api_name ,
1085 G_PKG_NAME )
1086 THEN
1087 --RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1088 RAISE e_ver_mismatch ;
1089 END IF ;
1090
1091 G_stage := 'gms_award_pub.add_funding' ;
1092
1093 gms_award_pvt.add_funding(
1094 X_MSG_COUNT ,
1095 X_MSG_DATA ,
1096 X_RETURN_STATUS ,
1097 X_GMS_PROJECT_FUNDING_ID ,
1098 X_ROW_ID ,
1099 P_CALLING_MODULE ,
1100 P_API_VERSION_NUMBER ,
1101 P_AWARD_ID ,
1102 P_INSTALLMENT_ID ,
1103 P_PROJECT_ID ,
1104 P_TASK_ID ,
1105 P_AMOUNT ,
1106 P_FUNDING_DATE
1107 ) ;
1108
1109
1110 EXCEPTION
1111 WHEN E_VER_MISMATCH THEN
1112 add_message_to_stack(
1113 P_LABEL => 'GMS_API_VER_MISMATCH',
1114 P_TOKEN1 => 'SUPVER',
1115 P_VAL1 => g_api_version_number) ;
1116 set_return_status(X_RETURN_STATUS, 'B' ) ;
1117
1118 x_msg_count := G_msg_count ;
1119 x_msg_data := G_msg_data ;
1120
1121
1122 WHEN OTHERS THEN
1123 ROLLBACK TO add_funding_pub;
1124 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1125
1126 FND_MSG_PUB.add_exc_msg
1127 ( P_PKG_NAME => G_PKG_NAME
1128 , P_PROCEDURE_NAME => l_api_name );
1129 FND_MSG_PUB.Count_And_Get
1130 ( P_COUNT => x_msg_count ,
1131 P_DATA => x_msg_data );
1132
1133
1134 END ADD_FUNDING ;
1135
1136 END GMS_AWARD_PUB ;