1 PACKAGE AMS_APPROVERS_PVT AUTHID CURRENT_USER AS
2 /* $Header: amsvaprs.pls 115.8 2002/12/29 08:42:57 vmodur noship $ */
3
4 -----------------------------------------------------------
5 -- PACKAGE
6 -- AMS_APPROVERS_PVT
7 --
8 -- PURPOSE
9 -- This package is a Private API for managing Approvers
10 -- in AMS. It contains specification for pl/sql records and tables
11 --
12 -- AMS_APPROVERS:
13 -- Create_approvers (see below for specification)
14 -- Update_approvers (see below for specification)
15 -- Delete_approvers (see below for specification)
16 -- Lock_approvers (see below for specification)
17 -- Validate_approvers (see below for specification)
18 --
19 -- Check_Approvers_Items (see below for specification)
20 -- Check_Approvers_Record (see below for specification)
21 -- Init_Approvers_Rec
22 -- Complete_Approvers_Rec
23 --
24 -- NOTES
25 --
26 --
27 -- HISTORY
28 -- 19-OCT-2000 mukumar Created.
29 -- 25-SEP-2002 vmodur uncommented security_group_id in record type
30 -----------------------------------------------------------
31
32 -------------------------------------
33 ----- Approvers -----
34 -------------------------------------
35 -- Record for AMS_APPROVERS
36 TYPE Approvers_Rec_Type IS RECORD (
37 APPROVER_ID NUMBER
38 , LAST_UPDATE_DATE DATE
39 , LAST_UPDATED_BY NUMBER
40 , CREATION_DATE DATE
41 , CREATED_BY NUMBER
42 , LAST_UPDATE_LOGIN NUMBER
43 , OBJECT_VERSION_NUMBER NUMBER
44 , SECURITY_GROUP_ID NUMBER
45 , AMS_APPROVAL_DETAIL_ID NUMBER
46 , APPROVER_SEQ NUMBER
47 , APPROVER_TYPE VARCHAR2(30)
48 , OBJECT_APPROVER_ID NUMBER
49 , NOTIFICATION_TYPE VARCHAR2(30)
50 , NOTIFICATION_TIMEOUT NUMBER
51 , SEEDED_FLAG VARCHAR2(1)
52 , ACTIVE_FLAG VARCHAR2(1)
53 , START_DATE_ACTIVE DATE
54 , END_DATE_ACTIVE DATE
55 );
56
57 --------------------------------------------------------------------
58 -- PROCEDURE
59 -- Create_Approvers
60 --
61 -- PURPOSE
62 -- Create Approvers entry.
63 --
64 -- PARAMETERS
65 -- p_approvers_rec: the record representing AMS_APPROVERS.
66 -- x_approver_id: the approver_id.
67 --
68 -- NOTES
69 -- 1. object_version_number will be set to 1.
70 -- 2. If approver_id is passed in, the uniqueness will be checked.
71 -- Raise exception in case of duplicates.
72 -- 4. If a flag column is passed in, check if it is 'Y' or 'N'.
73 -- Raise exception for invalid flag.
74 -- 5. If a flag column is not passed in, default it to 'Y' or 'N'.
75 -- 6. Please don't pass in any FND_API.g_mess_char/num/date.
76 --------------------------------------------------------------------
77 PROCEDURE Create_approvers (
78 p_api_version IN NUMBER,
79 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
80 p_commit IN VARCHAR2 := FND_API.g_false,
81 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
82
83 x_return_status OUT NOCOPY VARCHAR2,
84 x_msg_count OUT NOCOPY NUMBER,
85 x_msg_data OUT NOCOPY VARCHAR2,
86
87 p_approvers_rec IN Approvers_Rec_Type,
88 x_approver_id OUT NOCOPY NUMBER
89 );
90
91 --------------------------------------------------------------------
92 -- PROCEDURE
93 -- Update_approvers
94 --
95 -- PURPOSE
96 -- Update an approvers entry.
97 --
98 -- PARAMETERS
99 -- p_approvers_rec: the record representing AMS_APPROVERS
100 --
101 -- NOTES
102 -- 1. Raise exception if the object_version_number doesn't match.
103 -- 2. If an attribute is passed in as FND_API.g_miss_char/num/date,
104 -- that column won't be updated.
105 --------------------------------------------------------------------
106 PROCEDURE Update_approvers (
107 p_api_version IN NUMBER,
108 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
109 p_commit IN VARCHAR2 := FND_API.g_false,
110 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
111
112 x_return_status OUT NOCOPY VARCHAR2,
113 x_msg_count OUT NOCOPY NUMBER,
114 x_msg_data OUT NOCOPY VARCHAR2,
115
116 p_approvers_rec IN Approvers_Rec_Type
117 );
118
119 --------------------------------------------------------------------
120 -- PROCEDURE
121 -- Delete_approvers
122 --
123 -- PURPOSE
124 -- Delete a approvers entry.
125 --
126 -- PARAMETERS
127 -- p_approver_id: the approver_id
128 -- p_object_version: the object_version_number
129 --
130 -- ISSUES
131 --
132 -- NOTES
133 -- 1. Raise exception if the object_version_number doesn't match.
134 --------------------------------------------------------------------
135 PROCEDURE Delete_approvers (
136 p_api_version IN NUMBER,
137 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
138 p_commit IN VARCHAR2 := FND_API.g_false,
139 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
140
141 x_return_status OUT NOCOPY VARCHAR2,
142 x_msg_count OUT NOCOPY NUMBER,
143 x_msg_data OUT NOCOPY VARCHAR2,
144
145 p_approver_id IN NUMBER,
146 p_object_version IN NUMBER
147 );
148
149 --------------------------------------------------------------------
150 -- PROCEDURE
151 -- Lock_approvers
152 --
153 -- PURPOSE
154 -- Lock a approvers entry.
155 --
156 -- PARAMETERS
157 -- p_approver_id: the approver_id
158 -- p_object_version: the object_version_number
159 --
160 -- ISSUES
161 --
162 -- NOTES
163 -- 1. Raise exception if the object_version_number doesn't match.
164 --------------------------------------------------------------------
165 PROCEDURE Lock_approvers (
166 p_api_version IN NUMBER,
167 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
168 p_commit IN VARCHAR2 := FND_API.g_false,
169 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
170
171 x_return_status OUT NOCOPY VARCHAR2,
172 x_msg_count OUT NOCOPY NUMBER,
173 x_msg_data OUT NOCOPY VARCHAR2,
174
175 p_approver_id IN NUMBER,
176 p_object_version IN NUMBER
177 );
178
179 --------------------------------------------------------------------
180 -- PROCEDURE
181 -- Validate_approvers
182 --
183 -- PURPOSE
184 -- Validate a approvers entry.
185 --
186 -- PARAMETERS
187 -- p_approvers_rec: the record representing AMS_APPROVERS
188 --
189 -- NOTES
190 -- 1. p_approvers_rec should be the complete approver record.
191 -- There should not be any FND_API.g_miss_char/num/date in it.
192 -- 2. If FND_API.g_miss_char/num/date is in the record, then raise
193 -- an exception, as those values are not handled.
194 --------------------------------------------------------------------
195 PROCEDURE Validate_approvers (
196 p_api_version IN NUMBER,
197 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
198 p_commit IN VARCHAR2 := FND_API.g_false,
199 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
200
201 x_return_status OUT NOCOPY VARCHAR2,
202 x_msg_count OUT NOCOPY NUMBER,
203 x_msg_data OUT NOCOPY VARCHAR2,
204
205 p_approvers_rec IN approvers_rec_type
206 );
207
208 ---------------------------------------------------------------------
209 -- PROCEDURE
210 -- Check_approvers_Items
211 --
212 -- PURPOSE
213 -- Perform the item level checking including unique keys,
214 -- required columns, foreign keys, domain constraints.
215 --
216 -- PARAMETERS
217 -- p_approvers_rec: the record to be validated
218 -- p_validation_mode: JTF_PLSQL_API.g_create/g_update
219 ---------------------------------------------------------------------
220 PROCEDURE Check_approvers_Items (
221 p_approvers_rec IN approvers_Rec_Type,
222 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
223 x_return_status OUT NOCOPY VARCHAR2
224 );
225
226 ---------------------------------------------------------------------
227 -- PROCEDURE
228 -- Check_approvers_Record
229 --
230 -- PURPOSE
231 -- Check the record level business rules.
232 --
233 -- PARAMETERS
234 -- p_approvers_rec: the record to be validated; may contain attributes
235 -- as FND_API.g_miss_char/num/date
236 -- p_complete_rec: the complete record after all "g_miss" items
237 -- have been replaced by current database values
238 ---------------------------------------------------------------------
239 PROCEDURE Check_approvers_Record (
240 p_approvers_rec IN approvers_Rec_Type,
241 p_complete_rec IN approvers_Rec_Type := NULL,
242 x_return_status OUT NOCOPY VARCHAR2
243 );
244
245 ---------------------------------------------------------------------
246 -- PROCEDURE
247 -- Init_approvers_Rec
248 --
249 -- PURPOSE
250 -- Initialize all attributes to be FND_API.g_miss_char/num/date.
251 ---------------------------------------------------------------------
252 PROCEDURE Init_approvers_Rec (
253 x_approvers_rec OUT NOCOPY approvers_Rec_Type
254 );
255
256 ---------------------------------------------------------------------
257 -- PROCEDURE
258 -- Complete_approvers_Rec
259 --
260 -- PURPOSE
261 -- For Update_approvers, some attributes may be passed in as
262 -- FND_API.g_miss_char/num/date if the user doesn't want to
263 -- update those attributes. This procedure will replace the
264 -- "g_miss" attributes with current database values.
265 --
266 -- PARAMETERS
267 -- p_approvers_rec: the record which may contain attributes as
268 -- FND_API.g_miss_char/num/date
269 -- x_complete_rec: the complete record after all "g_miss" items
270 -- have been replaced by current database values
271 ---------------------------------------------------------------------
272 PROCEDURE Complete_approvers_Rec (
273 p_approvers_rec IN approvers_Rec_Type,
274 x_complete_rec OUT NOCOPY approvers_Rec_Type
275 );
276
277
278 END AMS_approvers_PVT;