1 PACKAGE BODY PO_PALT_MILESTONE_CMPL_HOOK AS
2 /* $Header: POPTMCHB.pls 120.2 2011/07/25 10:23:23 mmaramga noship $ */
3
4 Function Get_Solicitation_Creation_Dt(pAssignment_Number IN VARCHAR2) RETURN DATE AS
5 L_Solicit_Creation_Dt Date;
6 BEGIN
7 L_Solicit_Creation_Dt := sysdate;
8 Return L_Solicit_Creation_Dt;
9 EXCEPTION
10 WHEN OTHERS THEN
11 NULL;
12 END Get_Solicitation_Creation_Dt;
13
14
15 Function Get_Solicitation_Publish_Dt(pAssignment_Number IN VARCHAR2)
16 RETURN DATE AS
17 L_Solicit_Publish_Dt Date;
18 BEGIN
19 L_Solicit_Publish_Dt := sysdate;
20
21 Return L_Solicit_Publish_Dt;
22 EXCEPTION
23 WHEN OTHERS THEN
24 NULL;
25 END Get_Solicitation_Publish_Dt;
26
27
28 Function Get_Award_Creation_Dt(pAssignment_Number IN VARCHAR2)
29 RETURN DATE AS
30 L_Award_Creation_Dt Date;
31 BEGIN
32 L_Award_Creation_Dt := sysdate;
33 Return L_Award_Creation_Dt;
34 EXCEPTION
35 WHEN OTHERS THEN
36 NULL;
37 END Get_Award_Creation_Dt;
38
39 Function Get_Award_Approval_Dt(pAssignment_Number IN VARCHAR2)
40 RETURN DATE AS
41 L_Award_Approval_Dt Date;
42 BEGIN
43 L_Award_Approval_Dt := sysdate;
44 Return L_Award_Approval_Dt;
45 EXCEPTION
46 WHEN OTHERS THEN
47 NULL;
48 END Get_Award_Approval_Dt;
49
50 --------------------------------------------------------------------------------
51 /*
52 * Start of Comments
53 * Name: Custom_Update_MS_Completion_Dt
54 * Function:
55 * Gets completion date for milestones other than the 4 seede milestones(SOCREATE,SOPUBLIS,AWCREATE,AWAPPROV).
56 * Update ACTUAL_COMPLETION_DATE of PO_CLM_ASSGNMT_MILESTONE_DTLS table with the calculated completion date.
57 *
58 * Commented the code. Ct can uncomment it and use the code to write thier custom logic to calculate
59 * completion dates.
60 *
61 * Parameters:
62 * IN:
63 * pAssignment_Number Assignment Number of the assignment whose milestones' completion dates need to be calculated.
64 * End of Comments
65 */
66 --------------------------------------------------------------------------------
67 PROCEDURE Custom_Update_MS_Completion_Dt(pAssignment_Number IN VARCHAR2) IS
68 /*
69 l_Assignment_Id NUMBER;
70 l_Assign_MS_Dtls PO_PALT_MS_COMPLETION.Assign_MS_Details;
71 l_MS_Code VARCHAR2(30);
72 l_comp_dt Date;
73
74 CURSOR Get_Uncompleted_MS IS
75 SELECT DISTINCT MILESTONE_CODE FROM PO_CLM_ASSGNMT_MILESTONE_DTLS
76 WHERE ((MILESTONE_TYPE = 'S' AND MILESTONE_CODE NOT IN ('SOCREATE','SOPUBLIS','AWCREATE','AWAPPROV'))
77 OR MILESTONE_TYPE = 'U')
78 AND ACTUAL_COMPLETION_DATE IS NULL
79 AND ASSIGNMENT_ID = l_Assignment_Id;
80 */
81 BEGIN
82 NULL;
83 /*
84 SELECT ASSIGNMENT_ID
85 INTO l_Assignment_Id
86 FROM PO_CLM_ASSIGNMENTS
87 WHERE ASSIGNMENT_NUMBER = pAssignment_Number;
88
89
90 FOR l_Assign_MS_Dtls IN Get_Uncompleted_MS LOOP
91 l_MS_Code := l_Assign_MS_Dtls.MILESTONE_CODE;
92
93 -- Write logic to calculate completion date of the milestones
94
95
96 --update PO_CLM_ASSGNMT_MILESTONE_DTLS with the completion date
97 IF (l_comp_dt IS NOT NULL) THEN
98 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Milestone '||l_MS_Code|| ' for Assignment'||pAssignment_Number||' Completed ON '|| to_char(l_comp_dt,'DD-MON-YYYY HH24:MI:SS'));
99 UPDATE PO_CLM_ASSGNMT_MILESTONE_DTLS
100 SET ACTUAL_COMPLETION_DATE = l_comp_dt,
101 last_updated_by = fnd_global.user_id ,
102 last_update_date = SYSDATE ,
103 last_update_login = fnd_global.login_id
104 WHERE ASSIGNMENT_ID = l_Assignment_Id
105 and MILESTONE_CODE = l_MS_Code;
106 ELSE
107 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Milestone '||l_MS_Code|| ' for Assignment'||pAssignment_Number||' is not Completed');
108 END IF;
109
110 END LOOP;
111 */
112 EXCEPTION
113 WHEN OTHERS THEN
114 NULL;
115 END Custom_Update_MS_Completion_Dt;
116
117
118 END PO_PALT_MILESTONE_CMPL_HOOK;