1 PACKAGE PA_ALTERNATE_TASK_PVT AUTHID CURRENT_USER AS
2 --$Header: PAALTKVS.pls 120.5.12020000.5 2013/05/28 12:46:11 djambhek noship $
3
4 /*
5 * This API is used to create a new Alternate Task
6 * with the unique combination of Proj element and Cost code.
7 *
8 */
9 Procedure Create_Alt_Task(
10 p_Proj_Element_Id IN SYSTEM.pa_num_tbl_type DEFAULT SYSTEM.PA_NUM_TBL_TYPE(),
11 p_Cbs_Element_Id IN SYSTEM.pa_num_tbl_type DEFAULT SYSTEM.PA_NUM_TBL_TYPE(),
12 p_attribute_category_tbl IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_30_TBL_TYPE(),
13 p_attribute1 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_150_TBL_TYPE(),
14 p_attribute2 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_150_TBL_TYPE(),
15 p_attribute3 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_150_TBL_TYPE(),
16 p_attribute4 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_150_TBL_TYPE(),
17 p_attribute5 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_150_TBL_TYPE(),
18 p_attribute6 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_150_TBL_TYPE(),
19 p_attribute7 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_150_TBL_TYPE(),
20 p_attribute8 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_150_TBL_TYPE(),
21 p_attribute9 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_150_TBL_TYPE(),
22 p_attribute10 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_150_TBL_TYPE(),
23 p_attribute11 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_150_TBL_TYPE(),
24 p_attribute12 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_150_TBL_TYPE(),
25 p_attribute13 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_150_TBL_TYPE(),
26 p_attribute14 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_150_TBL_TYPE(),
27 p_attribute15 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_150_TBL_TYPE(),
28 X_Return_Status OUT NOCOPY Varchar2,
29 X_Msg_Data OUT NOCOPY Varchar2,
30 X_Msg_Count OUT NOCOPY Number);
31
32 /*
33 * This API is used to Delete existing Alternate Task.
34 * In this it needs to validate whether the alternate task can be deleted or not.
35 *
36 */
37 PROCEDURE Delete_Alt_Task(
38 p_Alt_Task_Id IN SYSTEM.pa_num_tbl_type DEFAULT SYSTEM.PA_NUM_TBL_TYPE(),
39 X_Return_Status OUT NOCOPY Varchar2,
40 X_Msg_Data OUT NOCOPY Varchar2,
41 X_Msg_Count OUT NOCOPY Number);
42
43 /*
44 * This API is used to Validate whether already an Alternate Task is
45 * existing for the given proj element and the cost code.
46 *
47 */
48 Procedure Validate_Alt_Tasks_Gen(
49 p_Proj_Element_Id IN SYSTEM.pa_num_tbl_type DEFAULT SYSTEM.PA_NUM_TBL_TYPE(),
50 p_Cbs_Element_Id IN SYSTEM.pa_num_tbl_type DEFAULT SYSTEM.PA_NUM_TBL_TYPE(),
51 X_Valid_Status OUT NOCOPY SYSTEM.PA_VARCHAR2_1_TBL_TYPE );
52
53 /*
54 * This API is used to Validate whether the Alternate Task is
55 * eligible for deletion or not.
56 *
57 */
58 Procedure Validate_Del_Alt_Tasks(
59 p_Alt_Task_Id IN SYSTEM.pa_num_tbl_type DEFAULT SYSTEM.PA_NUM_TBL_TYPE(),
60 p_context IN VARCHAR2 := 'COST_CODE',
61 X_Valid_Status OUT NOCOPY SYSTEM.PA_VARCHAR2_1_TBL_TYPE );
62
63 /*
64 * This API is used to copy cost codes from a source task to the
65 * targeted task.
66 *
67 */
68 PROCEDURE Copy_Cost_Codes_From_Task(
69 p_Source_Task_Id IN Number,
70 p_Target_Task_Id IN Number,
71 X_Return_Status OUT NOCOPY Varchar2,
72 X_Msg_Data OUT NOCOPY Varchar2,
73 X_Msg_Count OUT NOCOPY Number);
74
75 /*
76 * This Function is used to check whether the project is CBS enabled or not
77 *
78 */
79 FUNCTION Is_Cbs_Enabled(p_Project_Id IN Number)
80 RETURN VARCHAR2;
81
82 /*
83 * This API is used to validate cbs_element_id for a given task to the
84 * specified project is valid or not.
85 *
86 */
87 PROCEDURE Is_Cost_Element_Valid(
88 p_Cbs_Element_Id IN Number,
89 p_Task_Id IN Number,
90 p_Project_Id IN Number,
91 X_Return_Status OUT NOCOPY Varchar2,
92 X_Msg_Data OUT NOCOPY Varchar2,
93 X_Msg_Count OUT NOCOPY Number);
94
95 /*
96 * This API is used to validate cost codes for a given task to the
97 * specified project is valid or not.
98 *
99 */
100 PROCEDURE Is_Cost_Code_Valid(
101 p_Cost_Code IN Varchar2,
102 p_Task_Id IN Number,
103 p_Project_Id IN Number,
104 X_Return_Status OUT NOCOPY Varchar2,
105 X_Msg_Data OUT NOCOPY Varchar2,
106 X_Msg_Count OUT NOCOPY Number);
107
108 /*
109 * This API is used to validate planning options for a budget version
110 * of cbs enabled project can be used or not.
111 *
112 */
113 PROCEDURE Is_Planning_Options_Valid(
114 p_budget_version_id IN Number,
115 X_Return_Status OUT NOCOPY Varchar2,
116 X_Msg_Data OUT NOCOPY Varchar2,
117 X_Msg_Count OUT NOCOPY Number);
118
119
120 FUNCTION Check_Disabled_Cost_Codes(
121 P_Project_Id IN Number
122 ) RETURN VARCHAR2;
123
124 -- This API will return the cbs element id of cost code used in project
125 FUNCTION convert_cost_code_to_id(
126 p_cost_code IN VARCHAR2 ,
127 p_project_id IN NUMBER
128 ) RETURN NUMBER;
129
130 PROCEDURE Delete_ALL_Alt_Task(
131 p_project_id IN NUMBER,
132 X_Return_Status OUT NOCOPY Varchar2,
133 X_Msg_Data OUT NOCOPY Varchar2);
134
135
136 Procedure Copy_Cost_Codes_From_Project(
137 p_Source_Project_Id IN Number,
138 p_Target_Project_Id IN Number,
139 X_Return_Status OUT NOCOPY Varchar2,
140 X_Msg_Data OUT NOCOPY Varchar2,
141 X_Msg_Count OUT NOCOPY Number);
142
143
144 END PA_ALTERNATE_TASK_PVT;