1 PACKAGE Cac_Sync_Task AUTHID CURRENT_USER AS
2 /* $Header: cacvstss.pls 120.6 2005/09/27 07:30:21 rhshriva noship $ */
3 /*=======================================================================+
4 | Copyright (c) 2002 Oracle Corporation Redwood Shores, California, USA|
5 | All rights reserved. |
6 +=======================================================================+
7 | FILENAME |
8 | cacvstss.pls |
9 | |
10 | DESCRIPTION |
11 | - This package contains top level API for syncing |
12 | tasks(todos) and appointments. |
13 | |
14 | NOTES |
15 | |
16 | Date Developer Change |
17 | ------ --------------- -------------------------------------- |
18 | 5-Nov-2004 sachoudh Created. |
19 +======================================================================*/
20
21 G_LOGIN_RESOURCE_ID NUMBER;
22
23
24 TYPE task_rec IS RECORD (
25 syncId NUMBER -- The unique sync ID
26 ,recordIndex NUMBER := Fnd_Api.G_MISS_num -- Index equal to the relative record
27 ,task_id NUMBER
28 -- number of record set starting at 0.
29 ,syncAnchor DATE -- sync anchor date
30 ,timeZoneId NUMBER := 0 -- Default time zone is GMT
31 ,eventType VARCHAR2(30) --'New', 'Delete', 'Modify'
32
33 -- Task common fields
34 ,objectCode VARCHAR2(30) -- Type: 'TASK' or 'APPOINTMENT'
35 ,subject VARCHAR2(2000) := Fnd_Api.G_MISS_char -- Subject/name field
36 ,description VARCHAR2(4000) := Fnd_Api.G_MISS_char -- Description
37 ,dateSelected VARCHAR2(1) := Fnd_Api.G_MISS_char
38 ,plannedStartDate DATE := Fnd_Api.G_MISS_date -- Start date
39 ,plannedEndDate DATE := Fnd_Api.G_MISS_date -- End/Completed date
40 ,scheduledStartDate DATE := Fnd_Api.G_MISS_date -- Start date
41 ,scheduledEndDate DATE := Fnd_Api.G_MISS_date -- End/Completed date
42 ,actualStartDate DATE := Fnd_Api.G_MISS_date -- Start date
43 ,actualEndDate DATE := Fnd_Api.G_MISS_date -- End/Completed date
44 ,statusId NUMBER := Fnd_Api.G_MISS_num -- Task status
45 ,priorityId NUMBER := Fnd_Api.G_MISS_num -- Task priority (0-99)
46 ,alarmFlag VARCHAR2(1) := Fnd_Api.G_MISS_char -- Task alarm flag (Y/N)
47 ,alarmDate DATE := Fnd_Api.G_MISS_date -- Alarm trigger date
48 ,privateFlag VARCHAR2(1) := Fnd_Api.G_MISS_char -- Private flag (Y/N)
49 ,category VARCHAR2(255) := Fnd_Api.G_MISS_char -- Task category name
50 ,resourceId NUMBER := Fnd_Api.G_MISS_num
51 ,resourceType VARCHAR2(2000) := Fnd_Api.G_MISS_char
52 ,task_assignment_id NUMBER
53 ,resultId NUMBER(1) -- Result Identifier:
54 -- 0 Success, no message will be displayed
55 -- 1 Success, message will be displayed
56 -- 2 Soft Failure, msg will be displayed
57 -- and sync process will continue
58 -- 3 Hard Failure, msg will be displayed
59 -- and sync process will terminate
60 ,resultSystemMessage VARCHAR2(255) -- System message (API message code)
61 ,resultUserMessage VARCHAR2(2000) -- Valid and Meaningful message to the usr
62
63 -- fields added for recurring tasks
64 ,unit_of_measure VARCHAR2(30) := Fnd_Api.G_MISS_char -- unit of measure MON , DAY , WEEK etc
65 ,occurs_every NUMBER := Fnd_Api.G_MISS_num --occurs every month/day/week
66 --,occurs_number NUMBER := Fnd_Api.G_MISS_num --occurs number
67 ,start_date DATE := Fnd_Api.G_MISS_date -- start date
68 ,end_date DATE := Fnd_Api.G_MISS_date -- end date
69 ,sunday VARCHAR2(1) := Fnd_Api.G_MISS_char -- flag (Y/N)
70 ,monday VARCHAR2(1) := Fnd_Api.G_MISS_char -- flag (Y/N)
71 ,tuesday VARCHAR2(1) := Fnd_Api.G_MISS_char -- flag (Y/N)
72 ,wednesday VARCHAR2(1) := Fnd_Api.G_MISS_char -- flag (Y/N)
73 ,thursday VARCHAR2(1) := Fnd_Api.G_MISS_char -- flag (Y/N)
74 ,friday VARCHAR2(1) := Fnd_Api.G_MISS_char -- flag (Y/N)
75 ,saturday VARCHAR2(1) := Fnd_Api.G_MISS_char -- flag (Y/N)
76 ,date_of_month NUMBER := Fnd_Api.G_MISS_num --date of month
77 ,occurs_which NUMBER := Fnd_Api.G_MISS_num --date of month
78 ,locations VARCHAR2(4000) := Fnd_Api.G_MISS_char -- locations list for the appt.
79 ,principal_id NUMBER
80 ,free_busy_type VARCHAR2(30) := Fnd_Api.G_MISS_char
81 ,dial_in VARCHAR2(100) :=Fnd_Api.G_MISS_char);
82
83
84
85 TYPE exclusion_rec IS RECORD (
86 syncId NUMBER -- The unique sync ID
87 ,exclusion_date DATE := Fnd_Api.G_MISS_date -- exclusion date
88 ,recordIndex NUMBER := Fnd_Api.G_MISS_num -- Index equal to the relative record
89 ,task_id NUMBER
90 -- number of record set starting at 0.
91 ,syncAnchor DATE -- sync anchor date
92 ,timeZoneId NUMBER := 0 -- Default time zone is GMT
93 ,eventType VARCHAR2(30) --'New', 'Delete', 'Modify'
94 ,objectCode VARCHAR2(30) -- Type: 'TASK' or 'APPOINTMENT'
95 ,subject VARCHAR2(2000) := Fnd_Api.G_MISS_char -- Subject/name field
96 ,description VARCHAR2(4000) := Fnd_Api.G_MISS_char -- Description
97 ,dateSelected VARCHAR2(1) := Fnd_Api.G_MISS_char
98 ,plannedStartDate DATE := Fnd_Api.G_MISS_date -- Start date
99 ,plannedEndDate DATE := Fnd_Api.G_MISS_date -- End/Completed date
100 ,scheduledStartDate DATE := Fnd_Api.G_MISS_date -- Start date
101 ,scheduledEndDate DATE := Fnd_Api.G_MISS_date -- End/Completed date
102 ,actualStartDate DATE := Fnd_Api.G_MISS_date -- Start date
103 ,actualEndDate DATE := Fnd_Api.G_MISS_date -- End/Completed date
104 ,statusId NUMBER := Fnd_Api.G_MISS_num -- Task status
105 ,priorityId NUMBER := Fnd_Api.G_MISS_num -- Task priority (0-99)
106 ,alarmFlag VARCHAR2(1) := Fnd_Api.G_MISS_char -- Task alarm flag (Y/N)
107 ,alarmDate DATE := Fnd_Api.G_MISS_date -- Alarm trigger date
108 ,privateFlag VARCHAR2(1) := Fnd_Api.G_MISS_char -- Private flag (Y/N)
109 ,category VARCHAR2(255) := Fnd_Api.G_MISS_char -- Task category name
110 ,resourceId NUMBER := Fnd_Api.G_MISS_num
111 ,resourceType VARCHAR2(2000) := Fnd_Api.G_MISS_char
112 ,task_assignment_id NUMBER
113 ,resultId NUMBER(1) -- Result Identifier:
114 -- 0 Success, no message will be displayed
115 -- 1 Success, message will be displayed
116 -- 2 Soft Failure, msg will be displayed
117 -- and sync process will continue
118 -- 3 Hard Failure, msg will be displayed
119 -- and sync process will terminate
120 ,resultSystemMessage VARCHAR2(255) -- System message (API message code)
121 ,resultUserMessage VARCHAR2(2000) -- Valid and Meaningful message to the usr
122
123 -- fields added for recurring tasks
124 ,unit_of_measure VARCHAR2(30) := Fnd_Api.G_MISS_char -- unit of measure MON , DAY , WEEK etc
125 ,occurs_every NUMBER := Fnd_Api.G_MISS_num --occurs every month/day/week
126 ,start_date DATE := Fnd_Api.G_MISS_date -- start date
127 ,end_date DATE := Fnd_Api.G_MISS_date -- end date
128 ,sunday VARCHAR2(1) := Fnd_Api.G_MISS_char -- flag (Y/N)
129 ,monday VARCHAR2(1) := Fnd_Api.G_MISS_char -- flag (Y/N)
130 ,tuesday VARCHAR2(1) := Fnd_Api.G_MISS_char -- flag (Y/N)
131 ,wednesday VARCHAR2(1) := Fnd_Api.G_MISS_char -- flag (Y/N)
132 ,thursday VARCHAR2(1) := Fnd_Api.G_MISS_char -- flag (Y/N)
133 ,friday VARCHAR2(1) := Fnd_Api.G_MISS_char -- flag (Y/N)
134 ,saturday VARCHAR2(1) := Fnd_Api.G_MISS_char -- flag (Y/N)
135 ,date_of_month NUMBER := Fnd_Api.G_MISS_num --date of month
136 ,occurs_which NUMBER := Fnd_Api.G_MISS_num --date of month
137 ,locations VARCHAR2(4000) := Fnd_Api.G_MISS_char -- locations list for the appt.
138 ,principal_id NUMBER
139 ,free_busy_type VARCHAR2(30) := Fnd_Api.G_MISS_char
140 ,dial_in VARCHAR2(100) :=Fnd_Api.G_MISS_char
141 );
142 -- The task_tbl is table of task_rec type
143 TYPE task_tbl IS TABLE OF task_rec
144 INDEX BY BINARY_INTEGER;
145 -- The exclusion_tbl is table of reclusion_rec type
146 TYPE exclusion_tbl IS TABLE OF exclusion_rec
147 INDEX BY BINARY_INTEGER;
148
149 TYPE attendee_rec IS RECORD (
150 task_id NUMBER
151 ,attendee_role VARCHAR2(2000) := Fnd_Api.G_MISS_char
152 ,attendee_status NUMBER := Fnd_Api.G_MISS_num
153 ,resourceId NUMBER := Fnd_Api.G_MISS_num
154 ,resourceType VARCHAR2(2000) := Fnd_Api.G_MISS_char
155 ,first_name VARCHAR2(150)
156 ,middle_name VARCHAR2(60)
157 ,last_name VARCHAR2(150)
158 ,primary_phone_country_code VARCHAR2(10)
159 ,primary_phone_area_code VARCHAR2(10)
160 ,primary_phone_number VARCHAR2(40)
161 ,primary_phone_extension VARCHAR2(20)
162 ,email_address VARCHAR2(2000)
163 ,job_title VARCHAR2(100)
164
165
166 );
167
168
169 TYPE attendee_tbl IS TABLE OF attendee_rec
170 INDEX BY BINARY_INTEGER;
171
172 --------------------------------------------------------------------------
173 -- API name : get_count_appt
174 -- Type : Public
175 -- Function : Gets count of new/modified/deleted records after last sync date
176 -- Notes: :
177 --------------------------------------------------------------------------
178 PROCEDURE get_count (
179 p_request_type IN VARCHAR2 -- Input: Request Type - APPOINTMENTS/TASKS
180 ,p_syncAnchor IN DATE -- Input: current sync date,
181 ,p_principal_id IN NUMBER
182 ,x_total OUT NOCOPY NUMBER
183 ,x_totalNew OUT NOCOPY NUMBER
184 ,x_totalModified OUT NOCOPY NUMBER
185 ,x_totalDeleted OUT NOCOPY NUMBER
186 );
187
188 --------------------------------------------------------------------------
189 -- API name : get_list
190 -- Type : Public
191 -- Function : Gets list of appointments/tasks since last sync date between start and
192 -- end record indexes (provided by intellisync).
193 -- Notes: :
194 --------------------------------------------------------------------------
195 PROCEDURE get_list (
196 p_request_type IN VARCHAR2 -- Input: Request Type - APPOINTMENT/TASK
197 ,p_syncAnchor IN DATE -- Input: current sync date,
198 ,p_principal_id IN NUMBER
199 ,p_sync_type IN VARCHAR2 --'SS' for slow sync, 'IS' for Incremental sync
200 ,x_data OUT NOCOPY Cac_Sync_Task.task_tbl
201 ,x_exclusion_data OUT NOCOPY Cac_Sync_Task.exclusion_tbl
202 ,x_attendee_data OUT NOCOPY Cac_Sync_Task.attendee_tbl
203 );
204
205 --------------------------------------------------------------------------
206 -- API name : create_ids
207 -- Type : Private
208 -- Function : Create requested number of IDs using sequence.
209 -- Notes:
210 --------------------------------------------------------------------------
211 PROCEDURE create_ids (
212 p_num_req IN NUMBER,
213 x_results IN OUT NOCOPY Cac_Sync_Task.task_tbl
214 );
215
216 --------------------------------------------------------------------------
217 -- API name : update_data
218 -- Type : Private
219 -- Function : Update (create or modify) task data sent by sync engine.
220 -- Notes:
221 --------------------------------------------------------------------------
222 PROCEDURE update_data (p_tasks IN OUT NOCOPY Cac_Sync_Task.task_tbl,p_exclusions IN OUT NOCOPY Cac_Sync_Task.exclusion_tbl);
223
224 --------------------------------------------------------------------------
225 -- API name : delete_data
226 -- Type : Private
227 -- Function : Delete tasks indicated by sync engine.
228 -- Notes:
229 --------------------------------------------------------------------------
230 PROCEDURE delete_data (p_tasks IN OUT NOCOPY Cac_Sync_Task.task_tbl);
231
232 END Cac_Sync_Task;