1 PACKAGE JTF_CAL_UTILITY_PVT AUTHID CURRENT_USER AS
2 /* $Header: jtfvcus.pls 120.1 2005/07/02 01:39:14 appldev ship $ */
3 /*#
4 * Private APIs for the HTML Calendar module.
5 * This API facilitates getting user preferences like category, priority, color & timezone
6 * @rep:scope private
7 * @rep:product CAC
8 * @rep:displayname JTF Calendar Utility Private API
9 * @rep:lifecycle active
10 * @rep:compatibility S
11 * @rep:category BUSINESS_ENTITY CAC_APPOINTMENT
12 */
13
14 /*#
15 * This function will pick up the name of the given Resource Id.
16 * @param p_resource_id Input resource Id
17 * @param p_resource_type Input resource type
18 * @rep:scope private
19 * @rep:lifecycle active
20 * @rep:displayname Get Resource Name
21 */
22 FUNCTION GetResourceName(p_resource_id IN NUMBER
23 ,p_resource_type IN VARCHAR2
24 ) RETURN VARCHAR2;
25
26 /*#
27 * This function will pick up the user name of the given Resource ID
28 * @param p_resource_id Input resource Id
29 * @rep:scope private
30 * @rep:lifecycle active
31 * @rep:displayname Get User Name
32 */
33 FUNCTION GetUserName(p_resource_id IN NUMBER
34 ) RETURN VARCHAR2;
35
36 PROCEDURE GetResourceInfo( x_ResourceID OUT NOCOPY VARCHAR2
37 , x_ResourceName OUT NOCOPY VARCHAR2
38 );
39
40 PROCEDURE GetResourceInfo( p_userid IN NUMBER
41 , x_ResourceID OUT NOCOPY NUMBER
42 , x_ResourceType OUT NOCOPY VARCHAR2
43 );
44
45 /*#
46 * This Procedure will return the ResourceID and ResourceName for the passed user id
47 * @param p_userid Input resource Id
48 * @param x_ResourceID Output resource Id
49 * @param x_ResourceType Output resource Type
50 * @param x_ResourceName Output resource name
51 * @rep:scope private
52 * @rep:lifecycle active
53 * @rep:displayname Get Resource Info
54 */
55 PROCEDURE GetResourceInfo( p_userid IN NUMBER
56 , x_ResourceID OUT NOCOPY NUMBER
57 , x_ResourceType OUT NOCOPY VARCHAR2
58 , x_ResourceName OUT NOCOPY VARCHAR2
59 );
60
61 FUNCTION GetItemType( p_SourceCode IN VARCHAR2
62 , p_PeriodStartDate IN DATE
63 , p_PeriodEndDate IN DATE
64 , p_StartDate IN DATE
65 , p_EndDate IN DATE
66 )RETURN NUMBER;
67
68 /*#
69 * This function will return the calendar item type based on whether
70 * its begin and end date/time are defined. The type will determine
71 * where on the calendar the item is shown 1=Calendar 2=task 3=memo 5=split
72 * @param p_SourceCode Input source Code
73 * @param p_PeriodStartDate Input period start date
74 * @param p_PeriodEndDate Input period end date
75 * @param p_StartDate Input start date
76 * @param p_EndDate Input end date
77 * @param p_CalSpanDaysProfile Input Calendar Span Days Profile
78 * @rep:scope private
79 * @rep:lifecycle active
80 * @rep:displayname Get Item Type
81 */
82 FUNCTION GetItemType( p_SourceCode IN VARCHAR2
83 , p_PeriodStartDate IN DATE
84 , p_PeriodEndDate IN DATE
85 , p_StartDate IN DATE
86 , p_EndDate IN DATE
87 , p_CalSpanDaysProfile IN VARCHAR2
88 )RETURN NUMBER;
89
90 /*#
91 * This function will return the calendar item type status
92 * @param p_task_status_id Input Item Type status
93 * @rep:scope private
94 * @rep:lifecycle active
95 * @rep:displayname Get Item Status
96 */
97 FUNCTION GetItemStatus( p_task_status_id IN NUMBER)RETURN VARCHAR2;
98
99 /*#
100 * This function will return calendar item url string
101 * @param p_task_id Input task id
102 * @param p_task_source_code Input task source code
103 * @rep:scope private
104 * @rep:lifecycle active
105 * @rep:displayname Get Item URL
106 */
107 FUNCTION GetItemURL( p_task_id IN NUMBER
108 , p_task_source_code IN VARCHAR2
109 )RETURN VARCHAR2;
110
111 /*#
112 * This function will return calendar category name
113 * @param p_category_id a category id
114 * @rep:scope private
115 * @rep:lifecycle active
116 * @rep:displayname Get Item URL
117 */
118 FUNCTION GetCategoryName(p_category_id NUMBER)RETURN VARCHAR2;
119
120 /*#
121 * This function will return Task Priority
122 * @param p_task_priority_id Input task priority id
123 * @rep:scope private
124 * @rep:lifecycle active
125 * @rep:displayname Get Task Priority
126 */
127 FUNCTION GetTaskPriority(p_task_priority_id NUMBER)RETURN VARCHAR2;
128
129 FUNCTION TaskHasNotes(p_task_id IN NUMBER)RETURN VARCHAR2;
130
131 /*#
132 * This function will return group color code
133 * @param p_ResourceID Input Resource ID of calendar user
134 * @param p_ResourceType Input Resource Type of Calendar User
135 * @param p_GroupID Input Group ID of Group Calendar
136 * @rep:scope private
137 * @rep:lifecycle active
138 * @rep:displayname Get Group Color
139 */
140 FUNCTION GetGroupColor(p_ResourceID NUMBER -- Resource ID of calendar user
141 ,p_ResourceType VARCHAR2 -- Resource Type of Calendar User
142 ,p_GroupID NUMBER -- Group ID of Group Calendar
143 )RETURN VARCHAR2;
144
145 /*#
146 * This function will return group color name
147 * @param p_ResourceID Input Resource ID of calendar user
148 * @param p_ResourceType Input Resource Type of Calendar User
149 * @param p_GroupID Input Group ID of Group Calendar
150 * @rep:scope private
151 * @rep:lifecycle active
152 * @rep:displayname Get Group Color Name
153 */
154 FUNCTION GetGroupColorName(p_ResourceID NUMBER -- Resource ID of calendar user
155 ,p_ResourceType VARCHAR2 -- Resource Type of Calendar User
156 ,p_GroupID NUMBER -- Group ID of Group Calendar
157 )RETURN VARCHAR2;
158
159 /*#
160 * This function will return group Prefix
161 * @param p_ResourceID Input Resource ID of calendar user
162 * @param p_ResourceType Input Resource Type of Calendar User
163 * @param p_GroupID Input Group ID of Group Calendar
164 * @rep:scope private
165 * @rep:lifecycle active
166 * @rep:displayname Get Group Prefix
167 */
168 FUNCTION GetGroupPrefix(p_ResourceID NUMBER -- Resource ID of calendar user
169 ,p_ResourceType VARCHAR2 -- Resource Type of Calendar User
170 ,p_GroupID NUMBER -- Group ID of Group Calendar
171 )RETURN VARCHAR2;
172
173 PROCEDURE GetPreferences
174 ( p_ResourceID IN NUMBER
175 , p_ResourceType IN VARCHAR2
176 , x_Preferences OUT NOCOPY JTF_CAL_PVT.Preference
177 , x_WeekTimePrefTbl OUT NOCOPY JTF_CAL_PVT.WeekTimePrefTblType
178 , x_CalSpanDaysProfile OUT NOCOPY VARCHAR2
179 );
180
181 /*#
182 * This Procedure will get the calendar preference detail
183 * @param p_LoggedOnRSID Input Logged on Resource ID
184 * @param p_LoggedOnRSType Input Logged on Resource Type
185 * @param p_QueryRSID Input Query Resource ID
186 * @param p_QueryRSType Input Query Resource Type
187 * @param x_Preferences output preference date through record object type JTF_CAL_PVT.Preference
188 * @param x_WeekTimePrefTbl output preference date through record object type JTF_CAL_PVT.WeekTimePrefTblType
189 * @param x_CalSpanDaysProfile Output Calendar Span days Profile value
190 * @rep:scope private
191 * @rep:lifecycle active
192 * @rep:displayname Get Preferences
193 */
194 PROCEDURE GetPreferences
195 ( p_LoggedOnRSID IN NUMBER
196 , p_LoggedOnRSType IN VARCHAR2
197 , p_QueryRSID IN NUMBER
198 , p_QueryRSType IN VARCHAR2
199 , x_Preferences OUT NOCOPY JTF_CAL_PVT.Preference
200 , x_WeekTimePrefTbl OUT NOCOPY JTF_CAL_PVT.WeekTimePrefTblType
201 , x_CalSpanDaysProfile OUT NOCOPY VARCHAR2
202 );
203
204 PROCEDURE GetPreferences
205 ( p_ResourceID IN NUMBER
206 , p_ResourceType IN VARCHAR2
207 , x_Preferences OUT NOCOPY JTF_CAL_PVT.Preference
208 , x_WeekTimePrefTbl OUT NOCOPY JTF_CAL_PVT.WeekTimePrefTblType
209 );
210
211 /*#
212 * Function will return the access level for a task/appointment, if the private
213 * flag is set the task/appoint is only visible for the owner of the task.
214 * - 0 no access: show as anonymous block
215 * - 1 owner access (i.e. page level security applies)
216 * - 2 read only (i.e. page level gets over ruled)
217 * @param p_PrivateFlag Input Private flag
218 * @param p_QueryRSRole Input Query Resource Role
219 * @param p_LoggedOnRSID Input Logged on Resource ID
220 * @param p_LoggedOnRSType Input Logged on Resource Type
221 * @param p_QueryRSID Input Query Resource ID
222 * @param p_QueryRSType Input Query Resource Type
223 * @param p_SourceType Input Source type
224 * @rep:scope private
225 * @rep:lifecycle active
226 * @rep:displayname Get Access Level
227 */
228 FUNCTION GetAccessLevel
229 ( p_PrivateFlag VARCHAR2
230 , p_QueryRSRole VARCHAR2
231 , p_LoggedOnRSID NUMBER
232 , p_LoggedOnRSType VARCHAR2
233 , p_QueryRSID NUMBER
234 , p_QueryRSType VARCHAR2
235 , p_SourceType VARCHAR2
236 )RETURN NUMBER;
237
238 /*#
239 * If there are appointments/tasks scheduled during the period we are displaying
240 * that fall outside the range set in the user preferences the range will be
241 * adjusted.
242 * @param p_StartDate start date
243 * @param p_EndDate end date
244 * @param p_increment an incremental
245 * @param x_min_time min time
246 * @param x_max_time max time
247 * @rep:scope private
248 * @rep:lifecycle active
249 * @rep:displayname AdjustMinMaxTime
250 */
251 PROCEDURE AdjustMinMaxTime
252 ( p_StartDate IN DATE
253 , p_EndDate IN DATE
254 , p_increment IN NUMBER
255 , x_min_time IN OUT NOCOPY DATE
256 , x_max_time IN OUT NOCOPY DATE
257 );
258
259 /*#
260 * We need to sort the output table to make life easier on the
261 * java end.. This is a simple bi-directional bubble sort, which
262 * should do the trick.
263 * @param p_CalendarItems calendar items
264 * @rep:scope private
265 * @rep:lifecycle active
266 * @rep:displayname SortTable
267 */
268 PROCEDURE SortTable
269 (p_CalendarItems IN OUT NOCOPY JTF_CAL_PVT.QueryOutTab
270 );
271
272 PROCEDURE AdjustForTimezone
273 ( p_source_tz_id IN NUMBER
274 , p_dest_tz_id IN NUMBER
275 , p_source_day_time IN DATE
276 , x_dest_day_time OUT NOCOPY DATE
277 );
278
279 /*#
280 * This function will pick up the user ID of the given Resource ID
281 * @param p_resource_id resource id
282 * @rep:scope private
283 * @rep:lifecycle active
284 * @rep:displayname GetUserID
285 */
286 FUNCTION GetUserID
287 (p_resource_id IN NUMBER
288 )RETURN NUMBER;
289
290 FUNCTION isValidTimezone (p_timezone_id IN NUMBER)
291 RETURN BOOLEAN;
292
293 FUNCTION isValidObjectCode (p_object_code IN VARCHAR2)
294 RETURN BOOLEAN;
295
296
297
298 END JTF_CAL_UTILITY_PVT;