[Home] [Help]
PACKAGE BODY: APPS.PV_PRGM_PTR_TYPES_PKG
Source
1 PACKAGE BODY PV_PRGM_PTR_TYPES_PKG as
2 /* $Header: pvxtprpb.pls 115.4 2002/12/10 20:51:55 ktsao ship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 -- PV_PRGM_PTR_TYPES_PKG
7 -- Purpose
8 --
9 -- History
10 -- 28-FEB-2002 Paul.Ukken Created
11 -- 29-APR-2002 Peter.Nixon Modified
12 -- 14-JUN-2002 Karen.Tsao Modified to reverse logic of G_MISS_XXX and NULL.
13 --
14 -- NOTE
15 --
16 -- Copyright (c) 2002 Oracle Corporation Redwood Shores, California, USA
17 -- All rights reserved.
18 --
19 -- End of Comments
20 -- ===============================================================
21
22
23 G_PKG_NAME CONSTANT VARCHAR2(30) := 'PV_PRGM_PTR_TYPES_PKG';
24 G_FILE_NAME CONSTANT VARCHAR2(12) := 'pvxtprpb.pls';
25
26
27 -- ========================================================
28 --
29 -- NAME
30 -- Insert_Row
31 --
32 -- PURPOSE
33 --
34 -- NOTES
35 --
36 -- HISTORY
37 --
38 -- ========================================================
39 PV_DEBUG_HIGH_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
40 PV_DEBUG_LOW_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
41 PV_DEBUG_MEDIUM_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
42
43 PROCEDURE Insert_Row(
44 px_program_partner_types_id IN OUT NOCOPY NUMBER
45 ,p_PROGRAM_TYPE_ID NUMBER
46 ,p_partner_type VARCHAR2
47 ,p_last_update_date DATE
48 ,p_last_updated_by NUMBER
49 ,p_creation_date DATE
50 ,p_created_by NUMBER
51 ,p_last_update_login NUMBER
52 ,p_object_version_number NUMBER
53 )
54
55 IS
56
57 BEGIN
58
59 INSERT INTO PV_PROGRAM_PARTNER_TYPES(
60 program_partner_types_id
61 ,PROGRAM_TYPE_ID
62 ,partner_type
63 ,last_update_date
64 ,last_updated_by
65 ,creation_date
66 ,created_by
67 ,last_update_login
68 ,object_version_number
69 ) VALUES (
70 DECODE( px_program_partner_types_id, NULL, px_program_partner_types_id, FND_API.g_miss_num, NULL, px_program_partner_types_id)
71 ,DECODE( p_PROGRAM_TYPE_ID, NULL, p_PROGRAM_TYPE_ID, FND_API.g_miss_num, NULL, p_PROGRAM_TYPE_ID)
72 ,DECODE( p_partner_type, NULL, p_partner_type, FND_API.g_miss_char, NULL, p_partner_type)
73 ,DECODE( p_last_update_date, NULL, p_last_update_date, FND_API.g_miss_date, NULL, p_last_update_date)
74 ,DECODE( p_last_updated_by, NULL, p_last_updated_by, FND_API.g_miss_num, NULL, p_last_updated_by)
75 ,DECODE( p_creation_date, NULL, p_creation_date, FND_API.g_miss_date, NULL, p_creation_date)
76 ,DECODE( p_created_by, NULL, p_created_by, FND_API.g_miss_num, NULL, p_created_by)
77 ,DECODE( p_last_update_login, NULL, p_last_update_login, FND_API.g_miss_num, NULL, p_last_update_login)
78 ,DECODE( p_object_version_number, NULL, p_object_version_number, FND_API.g_miss_num, NULL, p_object_version_number)
79 );
80 END Insert_Row;
81
82
83
84 -- ========================================================
85 --
86 -- NAME
87 -- Update_Row
88 --
89 -- PURPOSE
90 --
91 -- NOTES
92 --
93 -- HISTORY
94 --
95 -- ========================================================
96 PROCEDURE Update_Row(
97 p_program_partner_types_id NUMBER
98 ,p_PROGRAM_TYPE_ID NUMBER
99 ,p_partner_type VARCHAR2
100 ,p_last_update_date DATE
101 ,p_last_updated_by NUMBER
102 ,p_last_update_login NUMBER
103 ,p_object_version_number NUMBER
104 )
105
106 IS
107
108 BEGIN
109
110 UPDATE PV_PROGRAM_PARTNER_TYPES
111 SET
112 program_partner_types_id = DECODE( p_program_partner_types_id, NULL, program_partner_types_id, FND_API.g_miss_num, NULL, p_program_partner_types_id)
113 ,PROGRAM_TYPE_ID = DECODE( p_PROGRAM_TYPE_ID, NULL, PROGRAM_TYPE_ID, FND_API.g_miss_num, NULL, p_PROGRAM_TYPE_ID)
114 ,partner_type = DECODE( p_partner_type, NULL, partner_type, FND_API.g_miss_char, NULL, p_partner_type)
115 ,last_update_date = DECODE( p_last_update_date, NULL, last_update_date, FND_API.g_miss_date, NULL, p_last_update_date)
116 ,last_updated_by = DECODE( p_last_updated_by, NULL, last_updated_by, FND_API.g_miss_num, NULL, p_last_updated_by)
117 ,last_update_login = DECODE( p_last_update_login, NULL, last_update_login, FND_API.g_miss_num, NULL, p_last_update_login)
118 ,object_version_number = DECODE( p_object_version_number, NULL, object_version_number, FND_API.g_miss_num, NULL, p_object_version_number+1)
119 WHERE PROGRAM_PARTNER_TYPES_ID = p_program_partner_types_id
120 AND object_version_number = p_object_version_number;
121
122 IF (SQL%NOTFOUND) THEN
123 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
124 FND_MESSAGE.set_name('PV', 'PV_RECORD_NOT_FOUND');
125 FND_MSG_PUB.add;
126 END IF;
127 RAISE FND_API.g_exc_error;
128 END IF;
129
130 END Update_Row;
131
132
133
134 -- ========================================================
135 --
136 -- NAME
137 -- Delete_Row
138 --
139 -- PURPOSE
140 --
141 -- NOTES
142 --
143 -- HISTORY
144 --
145 -- ========================================================
146 PROCEDURE Delete_Row(
147 p_program_partner_types_id NUMBER
148 ,p_object_version_number NUMBER
149 )
150 IS
151
152 BEGIN
153
154 DELETE FROM PV_PROGRAM_PARTNER_TYPES
155 WHERE program_partner_types_id = p_program_partner_types_id
156 AND object_version_number = p_object_version_number;
157
158 IF (SQL%NOTFOUND) THEN
159 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
160 FND_MESSAGE.set_name('PV', 'PV_RECORD_NOT_FOUND');
161 FND_MSG_PUB.add;
162 END IF;
163 RAISE FND_API.g_exc_error;
164 END IF;
165
166 END Delete_Row ;
167
168
169
170 -- ========================================================
171 --
172 -- NAME
173 -- Lock_Row
174 --
175 -- PURPOSE
176 --
177 -- NOTES
178 --
179 -- HISTORY
180 --
181 -- ========================================================
182 PROCEDURE Lock_Row(
183 px_program_partner_types_id IN OUT NOCOPY NUMBER
184 ,p_PROGRAM_TYPE_ID NUMBER
185 ,p_partner_type VARCHAR2
186 ,p_last_update_date DATE
187 ,p_last_updated_by NUMBER
188 ,p_creation_date DATE
189 ,p_created_by NUMBER
190 ,p_last_update_login NUMBER
191 ,px_object_version_number IN OUT NOCOPY NUMBER
192 )
193
194 IS
195 CURSOR C IS
196 SELECT *
197 FROM PV_PROGRAM_PARTNER_TYPES
198 WHERE PROGRAM_PARTNER_TYPES_ID = px_program_partner_types_id
199 FOR UPDATE of PROGRAM_PARTNER_TYPES_ID NOWAIT;
200 Recinfo C%ROWTYPE;
201 BEGIN
202 OPEN c;
203 FETCH c INTO Recinfo;
204 If (c%NOTFOUND) then
205 CLOSE c;
206 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
207 APP_EXCEPTION.RAISE_EXCEPTION;
208 END IF;
209 CLOSE C;
210 IF (
211 ( Recinfo.program_partner_types_id = px_program_partner_types_id)
212 AND ( ( Recinfo.PROGRAM_TYPE_ID = p_PROGRAM_TYPE_ID)
213 OR ( ( Recinfo.PROGRAM_TYPE_ID IS NULL )
214 AND ( p_PROGRAM_TYPE_ID IS NULL )))
215 AND ( ( Recinfo.partner_type = p_partner_type)
216 OR ( ( Recinfo.partner_type IS NULL )
217 AND ( p_partner_type IS NULL )))
218 AND ( ( Recinfo.last_update_date = p_last_update_date)
219 OR ( ( Recinfo.last_update_date IS NULL )
220 AND ( p_last_update_date IS NULL )))
221 AND ( ( Recinfo.last_updated_by = p_last_updated_by)
222 OR ( ( Recinfo.last_updated_by IS NULL )
223 AND ( p_last_updated_by IS NULL )))
224 AND ( ( Recinfo.creation_date = p_creation_date)
225 OR ( ( Recinfo.creation_date IS NULL )
226 AND ( p_creation_date IS NULL )))
227 AND ( ( Recinfo.created_by = p_created_by)
228 OR ( ( Recinfo.created_by IS NULL )
229 AND ( p_created_by IS NULL )))
230 AND ( ( Recinfo.last_update_login = p_last_update_login)
231 OR ( ( Recinfo.last_update_login IS NULL )
232 AND ( p_last_update_login IS NULL )))
233 AND ( ( Recinfo.object_version_number = px_object_version_number)
234 OR ( ( Recinfo.object_version_number IS NULL )
235 AND ( px_object_version_number IS NULL )))
236 ) THEN
237 RETURN;
238 ELSE
239 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
240 APP_EXCEPTION.RAISE_EXCEPTION;
241 END IF;
242
243 END Lock_Row;
244
245 END PV_PRGM_PTR_TYPES_PKG;