1 PACKAGE AMS_APPROVAL_DETAILS_PVT AUTHID CURRENT_USER AS
2 /* $Header: amsvapds.pls 115.9 2004/03/05 07:02:52 vmodur ship $ */
3
4 -----------------------------------------------------------
5 -- PACKAGE
6 -- AMS_APPROVAL_DETAILS_PVT
7 --
8 -- PURPOSE
9 -- This package is a Private API for managing Approval details
10 -- in AMS. It contains specification for pl/sql records and tables
11 --
12 -- AMS_APPROVAL_DETAILS_VL:
13 -- Create_Approval_Details (see below for specification)
14 -- Update_Approval_Details (see below for specification)
15 -- Delete_Approval_Details (see below for specification)
16 -- Lock_Approval_Details (see below for specification)
17 -- Validate_Approval_Details (see below for specification)
18 --
19 -- Check_Approval_Details_Items (see below for specification)
20 -- Check_Approval_Details_Record (see below for specification)
21 -- Init_Approval_Details_Rec
22 -- Complete_Approval_Details_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 ----- Approval Details -----
34 -------------------------------------
35 -- Record for AMS_Approval_Details_VL
36 TYPE Approval_Details_Rec_Type IS RECORD (
37 START_DATE_ACTIVE DATE
38 , END_DATE_ACTIVE DATE
39 , APPROVAL_DETAIL_ID NUMBER
40 , LAST_UPDATE_DATE DATE
41 , LAST_UPDATED_BY NUMBER
42 , CREATION_DATE DATE
43 , CREATED_BY NUMBER
44 , LAST_UPDATE_LOGIN NUMBER
45 , OBJECT_VERSION_NUMBER NUMBER
46 , SECURITY_GROUP_ID NUMBER
47 , BUSINESS_GROUP_ID NUMBER
48 , BUSINESS_UNIT_ID NUMBER
49 , ORGANIZATION_ID NUMBER
50 , CUSTOM_SETUP_ID NUMBER
51 , APPROVAL_OBJECT VARCHAR2(30)
52 , APPROVAL_OBJECT_TYPE VARCHAR2(30)
53 , APPROVAL_TYPE VARCHAR2(30)
54 , APPROVAL_PRIORITY VARCHAR2(30)
55 , APPROVAL_LIMIT_TO NUMBER
56 , APPROVAL_LIMIT_FROM NUMBER
57 , SEEDED_FLAG VARCHAR2(1)
58 , ACTIVE_FLAG VARCHAR2(1)
59 , CURRENCY_CODE VARCHAR2(15)
60 , USER_COUNTRY_CODE VARCHAR2(30)
61 , NAME VARCHAR2(240)
62 , DESCRIPTION VARCHAR2(4000)
63 );
64
65
66 --TYPE t_approval_id_table IS TABLE OF Approval_Details_Rec_Type.approval_detail_id%TYPE
67 -- INDEX BY BINARY_INTEGER;
68
69 TYPE t_approval_id_table IS TABLE OF NUMBER
70 INDEX BY BINARY_INTEGER;
71
72
73 --------------------------------------------------------------------
74 -- PROCEDURE
75 -- Create_Approval_Details
76 --
77 -- PURPOSE
78 -- Create Approval Details entry.
79 --
80 -- PARAMETERS
81 -- p_approval_detail_rec: the record representing AMS_APPROVAL_DETAILS_VL view..
82 -- x_approval_detail_id: the approval_detail_id.
83 --
84 -- NOTES
85 -- 1. object_version_number will be set to 1.
86 -- 2. If approval_detail_id is passed in, the uniqueness will be checked.
87 -- Raise exception in case of duplicates.
88 -- 4. If a flag column is passed in, check if it is 'Y' or 'N'.
89 -- Raise exception for invalid flag.
90 -- 5. If a flag column is not passed in, default it to 'Y' or 'N'.
91 -- 6. Please don't pass in any FND_API.g_mess_char/num/date.
92 --------------------------------------------------------------------
93 PROCEDURE Create_approval_details (
94 p_api_version IN NUMBER,
95 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
96 p_commit IN VARCHAR2 := FND_API.g_false,
97 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
98
99 x_return_status OUT NOCOPY VARCHAR2,
100 x_msg_count OUT NOCOPY NUMBER,
101 x_msg_data OUT NOCOPY VARCHAR2,
102
103 p_approval_details_rec IN Approval_Details_Rec_Type,
104 x_approval_detail_id OUT NOCOPY NUMBER
105 );
106
107 --------------------------------------------------------------------
108 -- PROCEDURE
109 -- Update_approval_details
110 --
111 -- PURPOSE
112 -- Update an approval details entry.
113 --
114 -- PARAMETERS
115 -- p_approval_details_rec: the record representing AMS_APPROVAL_DETAILS_VL (without the ROW_ID column).
116 --
117 -- NOTES
118 -- 1. Raise exception if the object_version_number doesn't match.
119 -- 2. If an attribute is passed in as FND_API.g_miss_char/num/date,
120 -- that column won't be updated.
121 --------------------------------------------------------------------
122 PROCEDURE Update_approval_details (
123 p_api_version IN NUMBER,
124 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
125 p_commit IN VARCHAR2 := FND_API.g_false,
126 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
127
128 x_return_status OUT NOCOPY VARCHAR2,
129 x_msg_count OUT NOCOPY NUMBER,
130 x_msg_data OUT NOCOPY VARCHAR2,
131
132 p_approval_details_rec IN Approval_Details_Rec_Type
133 );
134
135 --------------------------------------------------------------------
136 -- PROCEDURE
137 -- Delete_approval_details
138 --
139 -- PURPOSE
140 -- Delete a approval details entry.
141 --
142 -- PARAMETERS
143 -- p_approval_detail_id: the approval_detail_id
144 -- p_object_version: the object_version_number
145 --
146 -- ISSUES
147 --
148 -- NOTES
149 -- 1. Raise exception if the object_version_number doesn't match.
150 --------------------------------------------------------------------
151 PROCEDURE Delete_approval_details (
152 p_api_version IN NUMBER,
153 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
154 p_commit IN VARCHAR2 := FND_API.g_false,
155 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
156
157 x_return_status OUT NOCOPY VARCHAR2,
158 x_msg_count OUT NOCOPY NUMBER,
159 x_msg_data OUT NOCOPY VARCHAR2,
160
161 p_approval_detail_id IN NUMBER,
162 p_object_version IN NUMBER
163 );
164
165 --------------------------------------------------------------------
166 -- PROCEDURE
167 -- Lock_approval_details
168 --
169 -- PURPOSE
170 -- Lock a approval details entry.
171 --
172 -- PARAMETERS
173 -- p_approval_detail_id: the approval_detail
174 -- p_object_version: the object_version_number
175 --
176 -- ISSUES
177 --
178 -- NOTES
179 -- 1. Raise exception if the object_version_number doesn't match.
180 --------------------------------------------------------------------
181 PROCEDURE Lock_approval_details (
182 p_api_version IN NUMBER,
183 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
184 p_commit IN VARCHAR2 := FND_API.g_false,
185 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
186
187 x_return_status OUT NOCOPY VARCHAR2,
188 x_msg_count OUT NOCOPY NUMBER,
189 x_msg_data OUT NOCOPY VARCHAR2,
190
191 p_approval_detail_id IN NUMBER,
192 p_object_version IN NUMBER
193 );
194
195 --------------------------------------------------------------------
196 -- PROCEDURE
197 -- Validate_approval_details
198 --
199 -- PURPOSE
200 -- Validate a approval_details entry.
201 --
202 -- PARAMETERS
203 -- p_approval_details_rec: the record representing AMS_APPROVAL_DETAILS_VL (without ROW_ID).
204 --
205 -- NOTES
206 -- 1. p_approval_details_rec should be the complete approval_details record.
207 -- There should not be any FND_API.g_miss_char/num/date in it.
208 -- 2. If FND_API.g_miss_char/num/date is in the record, then raise
209 -- an exception, as those values are not handled.
210 --------------------------------------------------------------------
211 PROCEDURE Validate_approval_details (
212 p_api_version IN NUMBER,
213 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
214 p_commit IN VARCHAR2 := FND_API.g_false,
215 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
216
217 x_return_status OUT NOCOPY VARCHAR2,
218 x_msg_count OUT NOCOPY NUMBER,
219 x_msg_data OUT NOCOPY VARCHAR2,
220
221 p_approval_details_rec IN approval_details_rec_type
222 );
223
224 ---------------------------------------------------------------------
225 -- PROCEDURE
226 -- Check_approval_details_Items
227 --
228 -- PURPOSE
229 -- Perform the item level checking including unique keys,
230 -- required columns, foreign keys, domain constraints.
231 --
232 -- PARAMETERS
233 -- p_approval_details_rec: the record to be validated
234 -- p_validation_mode: JTF_PLSQL_API.g_create/g_update
235 ---------------------------------------------------------------------
236 PROCEDURE Check_approval_details_Items (
237 p_approval_details_rec IN approval_details_Rec_Type,
238 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
239 x_return_status OUT NOCOPY VARCHAR2
240 );
241
242 ---------------------------------------------------------------------
243 -- PROCEDURE
244 -- Check_approval_details_Record
245 --
246 -- PURPOSE
247 -- Check the record level business rules.
248 --
249 -- PARAMETERS
250 -- p_approval_details_rec: the record to be validated; may contain attributes
251 -- as FND_API.g_miss_char/num/date
252 -- p_complete_rec: the complete record after all "g_miss" items
253 -- have been replaced by current database values
254 ---------------------------------------------------------------------
255 PROCEDURE Check_approval_details_Record (
256 p_approval_details_rec IN approval_details_Rec_Type,
257 p_complete_rec IN approval_details_Rec_Type := NULL,
258 x_return_status OUT NOCOPY VARCHAR2
259 );
260
261 ---------------------------------------------------------------------
262 -- PROCEDURE
263 -- Init_approval_details_Rec
264 --
265 -- PURPOSE
266 -- Initialize all attributes to be FND_API.g_miss_char/num/date.
267 ---------------------------------------------------------------------
268 PROCEDURE Init_approval_details_Rec (
269 x_approval_details_rec OUT NOCOPY approval_details_Rec_Type
270 );
271
272 ---------------------------------------------------------------------
273 -- PROCEDURE
274 -- Complete_approval_details_Rec
275 --
276 -- PURPOSE
277 -- For Update_approval_details, some attributes may be passed in as
278 -- FND_API.g_miss_char/num/date if the user doesn't want to
279 -- update those attributes. This procedure will replace the
280 -- "g_miss" attributes with current database values.
281 --
282 -- PARAMETERS
283 -- p_approval_details_rec: the record which may contain attributes as
284 -- FND_API.g_miss_char/num/date
285 -- x_complete_rec: the complete record after all "g_miss" items
286 -- have been replaced by current database values
287 ---------------------------------------------------------------------
288 PROCEDURE Complete_approval_details_Rec (
289 p_approval_details_rec IN approval_details_Rec_Type,
290 x_complete_rec OUT NOCOPY approval_details_Rec_Type
291 );
292
293
294 END AMS_approval_details_PVT;