DBA Data[Home] [Help]

PACKAGE BODY: APPS.CST_PAC_ITEM_COSTS_PKG

Source


1 PACKAGE BODY CST_PAC_ITEM_COSTS_PKG AS
2 /* $Header: CSTGLICB.pls 115.7 2002/11/08 20:33:53 awwang ship $ */
3 /*======================================================================+
4 |                 Copyright (c) 1999 Oracle Corporation                 |
5 |                         Redwood Shores, CA, USA                       |
6 |                           All rights reserved.                        |
7 |   FILENAME : CSTGLICS.pls                                             |
8 |                                                                       |
9 |   DESCRIPTION: Use this package  to insert,lock,update and  delete    |
10 |                       records from the table CST_PAC_ITEM_COSTS       |
11 |                                                                       |
12 |   PROCEDURE LIST:                                                     |
13 |        PROCEDURE Insert_row,                                          |
14 |        PROCEDURE Lock_row,                                            |
15 |        PROCEDURE Update_row,                                          |
16 |        PROCEDURE Delete_row                                           |
17 |                                                                       |
18 |   HISTORY:                                                            |
19 |            02/15/99   Tatiana Simmonds  Created                       |
20 +=======================================================================*/
21 
22 --======================================================================
23 --CONSTANTS
24 --======================================================================
25 G_PKG_NAME CONSTANT VARCHAR2(30)    :='CST_PAC_ITEM_COSTS_PKG';
26 
27 
28 --========================================================================
29 -- PROCEDURE : Insert_row            PUBLIC
30 -- PARAMETERS: p_row_id              ROWID of the current record
31 --             p_pac_period_id       period id
32 --             p_cost_group_id       cost group id
33 --             p_inventory_item_id   inventory item id
34 --             p_item_cost           item cost
35 --             p_market_value        market value
36 --             p_justification       justification
37 --             p_creation_date       date, when a record was inserted
38 --             p_created_by          userid of the person,who inserted a record
39 -- COMMENT   : Procedure inserts record into the table CST_PAC_ITEM_COSTS
40 --========================================================================
41  PROCEDURE Insert_row (
42    p_row_id IN OUT NOCOPY     VARCHAR2
43  , p_pac_period_id     NUMBER
44  , p_cost_group_id     NUMBER
45  , p_inventory_item_id NUMBER
46  , p_item_cost         NUMBER
47  , p_market_value      NUMBER
48  , p_justification     VARCHAR2
49  , p_creation_date     DATE
50  , p_created_by        NUMBER
51  )
52 IS
53 CURSOR C IS
54   SELECT
55     rowid
56   FROM
57     CST_PAC_ITEM_COSTS
58   WHERE pac_period_id=p_pac_period_id
59     AND cost_group_id=p_cost_group_id
60       AND inventory_item_id=p_inventory_item_id;
61 
62 BEGIN
63   INSERT
64   INTO cst_pac_item_costs
65   ( pac_period_id
66   , cost_group_id
67   , inventory_item_id
68   , item_cost
69   , market_value
70   , justification
71   , creation_date
72   , created_by
73   )
74   VALUES
75   ( p_pac_period_id
76   , p_cost_group_id
77   , p_inventory_item_id
78   , p_item_cost
79   , p_market_value
80   , p_justification
81   , p_creation_date
82   , p_created_by
83   );
84 
85   OPEN c;
86   FETCH  c INTO p_row_id;
87   IF (c%NOTFOUND)
88   THEN
89     CLOSE c;
90     RAISE NO_DATA_FOUND;
91   END IF;
92   CLOSE c;
93 EXCEPTION
94   WHEN OTHERS THEN
95     IF FND_MSG_PUB.Check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
96     THEN
97        FND_MSG_PUB.Add_exc_msg(G_PKG_NAME,'Insert_row');
98     END IF;
99     RAISE;
100 
101  END Insert_row;
102 
103 
104 --========================================================================
105 -- PROCEDURE : Lock_row              PUBLIC
106 -- PARAMETERS: p_row_id              ROWID of the current record
107 --             p_market_value        market value
108 --             p_justification       justification
109 -- COMMENT   : Procedure locks current record in the table CST_PAC_ITEM_COSTS.
110 --========================================================================
111 PROCEDURE Lock_row (
112   p_row_id            VARCHAR2
113  ,p_market_value      NUMBER
114  ,p_justification     VARCHAR2
115  )
116 IS
117   CURSOR c
118   IS
119     SELECT *
120     FROM CST_PAC_ITEM_COSTS
121     WHERE ROWID=CHARTOROWID(p_row_id)
122     FOR UPDATE OF market_value NOWAIT;
123 
124   recinfo c%ROWTYPE;
125 
126 BEGIN
127 
128   OPEN c;
129   FETCH c INTO recinfo;
130   IF (c%NOTFOUND)
131   THEN
132     CLOSE c;
133     FND_MESSAGE.Set_name('FND', 'FORM_RECORD_DELETED');
134     RAISE NO_DATA_FOUND;
135   END IF;
136   CLOSE c;
137 
138   IF
139     ((recinfo.market_value=p_market_value)
140       OR (recinfo.market_value is NULL AND p_market_value is NULL))
141     AND
142     ((recinfo.justification=p_justification)
143       OR (recinfo.justification is NULL AND p_justification is NULL))
144   THEN
145      NULL;
146   ELSE
147      FND_MESSAGE.set_name('FND', 'FORM_RECORD_CHANGED');
148      APP_EXCEPTION.raise_exception;
149   END IF;
150 
151 END Lock_Row;
152 
153 
154 --========================================================================
155 -- PROCEDURE : Update_row             PUBLIC
156 -- PARAMETERS: p_row_id               ROWID of the current record
157 --             p_item_cost            item cost
158 --             p_market_value         market value
159 --             p_justification        justification
160 --             p_last_update_date     date,when the record was updated
161 --             p_last_updated_by      userid of the person,who updated the record
162 -- COMMENT   : Procedure updates columns market_value and justification
163 --             in the table CST_PAC_ITEM_COSTS for the record
164 --             with ROWID,passed as a parameter p_row_id.
165 --========================================================================
166 PROCEDURE Update_row (
167   p_row_id             VARCHAR2
168 , p_item_cost          NUMBER
169 , p_market_value       NUMBER
170 , p_justification      VARCHAR2
171 , p_last_update_date   DATE
172 , p_last_updated_by    NUMBER
173 )
174 IS
175 
176 BEGIN
177   UPDATE CST_PAC_ITEM_COSTS
178   SET
179     item_cost=p_item_cost
180    ,market_value=p_market_value
181    ,justification=p_justification
182    ,last_update_date=p_last_update_date
183    ,last_updated_by=p_last_updated_by
184   WHERE ROWID=CHARTOROWID(p_row_id);
185 
186 
187  IF (SQL%NOTFOUND)
188   THEN
189        RAISE NO_DATA_FOUND;
190   END IF;
191 EXCEPTION
192   WHEN OTHERS THEN
193     IF FND_MSG_PUB.Check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
194     THEN
195        FND_MSG_PUB.Add_exc_msg(G_PKG_NAME,'Update_row');
196     END IF;
197   RAISE;
198 
199   END Update_Row;
200 
201 
202 --========================================================================
203 -- PROCEDURE : Delete_row              PUBLIC
204 -- PARAMETERS: p_row_id                ROWID of the current record
205 -- COMMENT   : Procedure deletes record with ROWID=p_row_id from the
206 --             table CST_PAC_ITEM_COSTS.
207 --========================================================================
208 PROCEDURE Delete_row (
209  p_row_id VARCHAR2)
210 IS
211 BEGIN
212   DELETE
213   FROM CST_PAC_ITEM_COSTS
214   WHERE ROWID=p_row_id;
215 
216     IF (SQL%NOTFOUND)
217     THEN
218       RAISE NO_DATA_FOUND;
219     END IF;
220 EXCEPTION
221   WHEN OTHERS THEN
222     IF FND_MSG_PUB.Check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
223     THEN
224        FND_MSG_PUB.Add_exc_msg(G_PKG_NAME,'Delete_row');
225     END IF;
226   RAISE;
227 
228 END Delete_row;
229 
230 END CST_PAC_ITEM_COSTS_PKG;