DBA Data[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;