1 PACKAGE BODY ENG_Default_Eco_Revision AS
2 /* $Header: ENGDREVB.pls 115.10 2002/11/24 12:09:56 bbontemp ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'ENG_Default_Eco_Revision';
7
8 -- Package global used within the package.
9
10 g_eco_revision_rec ENG_Eco_PUB.Eco_Revision_Rec_Type;
11
12 -- Get functions.
13
14 FUNCTION Get_Revision
15 RETURN NUMBER
16 IS
17 X_RevId NUMBER;
18 BEGIN
19
20 SELECT ENG_CHANGE_ORDER_REVISIONS_S.NEXTVAL
21 INTO X_RevId
22 FROM SYS.DUAL;
23
24 RETURN X_RevId;
25
26 END Get_Revision;
27
28 PROCEDURE Get_Flex_Eco_Revision
29 IS
30 BEGIN
31
32 -- In the future call Flex APIs for defaults
33
34 IF g_eco_revision_rec.attribute11 = FND_API.G_MISS_CHAR THEN
35 g_eco_revision_rec.attribute11 := NULL;
36 END IF;
37
38 IF g_eco_revision_rec.attribute12 = FND_API.G_MISS_CHAR THEN
39 g_eco_revision_rec.attribute12 := NULL;
40 END IF;
41
42 IF g_eco_revision_rec.attribute13 = FND_API.G_MISS_CHAR THEN
43 g_eco_revision_rec.attribute13 := NULL;
44 END IF;
45
46 IF g_eco_revision_rec.attribute14 = FND_API.G_MISS_CHAR THEN
47 g_eco_revision_rec.attribute14 := NULL;
48 END IF;
49
50 IF g_eco_revision_rec.attribute15 = FND_API.G_MISS_CHAR THEN
51 g_eco_revision_rec.attribute15 := NULL;
52 END IF;
53
54 IF g_eco_revision_rec.attribute_category = FND_API.G_MISS_CHAR THEN
55 g_eco_revision_rec.attribute_category := NULL;
56 END IF;
57
58 IF g_eco_revision_rec.attribute1 = FND_API.G_MISS_CHAR THEN
59 g_eco_revision_rec.attribute1 := NULL;
60 END IF;
61
62 IF g_eco_revision_rec.attribute2 = FND_API.G_MISS_CHAR THEN
63 g_eco_revision_rec.attribute2 := NULL;
64 END IF;
65
66 IF g_eco_revision_rec.attribute3 = FND_API.G_MISS_CHAR THEN
67 g_eco_revision_rec.attribute3 := NULL;
68 END IF;
69
70 IF g_eco_revision_rec.attribute4 = FND_API.G_MISS_CHAR THEN
71 g_eco_revision_rec.attribute4 := NULL;
72 END IF;
73
74 IF g_eco_revision_rec.attribute5 = FND_API.G_MISS_CHAR THEN
75 g_eco_revision_rec.attribute5 := NULL;
76 END IF;
77
78 IF g_eco_revision_rec.attribute6 = FND_API.G_MISS_CHAR THEN
79 g_eco_revision_rec.attribute6 := NULL;
80 END IF;
81
82 IF g_eco_revision_rec.attribute7 = FND_API.G_MISS_CHAR THEN
83 g_eco_revision_rec.attribute7 := NULL;
84 END IF;
85
86 IF g_eco_revision_rec.attribute8 = FND_API.G_MISS_CHAR THEN
87 g_eco_revision_rec.attribute8 := NULL;
88 END IF;
89
90 IF g_eco_revision_rec.attribute9 = FND_API.G_MISS_CHAR THEN
91 g_eco_revision_rec.attribute9 := NULL;
92 END IF;
93
94 IF g_eco_revision_rec.attribute10 = FND_API.G_MISS_CHAR THEN
95 g_eco_revision_rec.attribute10 := NULL;
96 END IF;
97
98 END Get_Flex_Eco_Revision;
99
100 /*************************************************************************
101 *Procedure : Attribute_Defaulting (Defaulting)
102 *Parameters IN : Eco Revision Exposed columns record.
103 * Eco Revision Unexposed Column record.
104 *Parameters OUT : Eco Revision exposed column record after defaulting
105 * Eco Revision uxposed column record after defaulting
106 * Mesg Token table
107 * Return_Status
108 *Purpose : This procedure will default any exposed or unexposed
109 * columns and return the filled record back.
110 * In case of an error the Mesg Token table is filled and
111 * an error status is set.
112 **************************************************************************/
113 PROCEDURE Attribute_Defaulting
114 ( p_eco_revision_rec IN ENG_Eco_PUB.Eco_Revision_Rec_Type
115 , p_Eco_Rev_Unexp_Rec IN Eng_Eco_Pub.Eco_Rev_Unexposed_Rec_Type
116 , x_eco_revision_rec IN OUT NOCOPY ENG_Eco_PUB.Eco_Revision_Rec_Type
117 , x_Eco_Rev_Unexp_Rec IN OUT NOCOPY Eng_Eco_Pub.Eco_Rev_Unexposed_Rec_Type
118 , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
119 , x_Return_Status OUT NOCOPY VARCHAR2
120 )
121 IS
122 l_Eco_Rev_Unexp_Rec Eng_Eco_Pub.Eco_Rev_Unexposed_Rec_Type;
123 BEGIN
124
125 -- Initialize g_eco_revision_rec
126
127 g_eco_revision_rec := p_eco_revision_rec;
128 l_Eco_Rev_Unexp_Rec := p_Eco_Rev_Unexp_Rec;
129
130 -- Default missing attributes.
131
132 --dbms_output.put_line('Performing Attribute defaulting . . .');
133
134 IF l_Eco_Rev_Unexp_Rec.revision_id = FND_API.G_MISS_NUM OR
135 g_eco_revision_rec.Transaction_Type = ENG_GLOBALS.G_OPR_CREATE OR
136 NVL(l_Eco_Rev_Unexp_Rec.revision_id, 0) = 0
137 THEN
138
139 l_Eco_Rev_Unexp_Rec.revision_id := Get_Revision;
140
141 END IF;
142
146 OR g_eco_revision_rec.attribute14 = FND_API.G_MISS_CHAR
143 IF g_eco_revision_rec.attribute11 = FND_API.G_MISS_CHAR
144 OR g_eco_revision_rec.attribute12 = FND_API.G_MISS_CHAR
145 OR g_eco_revision_rec.attribute13 = FND_API.G_MISS_CHAR
147 OR g_eco_revision_rec.attribute15 = FND_API.G_MISS_CHAR
148 OR g_eco_revision_rec.attribute_category = FND_API.G_MISS_CHAR
149 OR g_eco_revision_rec.attribute1 = FND_API.G_MISS_CHAR
150 OR g_eco_revision_rec.attribute2 = FND_API.G_MISS_CHAR
151 OR g_eco_revision_rec.attribute3 = FND_API.G_MISS_CHAR
152 OR g_eco_revision_rec.attribute4 = FND_API.G_MISS_CHAR
153 OR g_eco_revision_rec.attribute5 = FND_API.G_MISS_CHAR
154 OR g_eco_revision_rec.attribute6 = FND_API.G_MISS_CHAR
155 OR g_eco_revision_rec.attribute7 = FND_API.G_MISS_CHAR
156 OR g_eco_revision_rec.attribute8 = FND_API.G_MISS_CHAR
157 OR g_eco_revision_rec.attribute9 = FND_API.G_MISS_CHAR
158 OR g_eco_revision_rec.attribute10 = FND_API.G_MISS_CHAR
159 THEN
160
161 Get_Flex_Eco_Revision;
162
163 END IF;
164
165 -- Done defaulting attributes
166
167 x_eco_revision_rec := g_eco_revision_rec;
168 x_Eco_Rev_Unexp_Rec := l_Eco_Rev_Unexp_Rec;
169
170 -- END IF;
171
172 END Attribute_Defaulting;
173
174
175 /**************************************************************************
176 *Procedure : Populate_Null_Columns (earlier Complete_Record)
177 *Parameters IN : Eco Revisions exposed column record
178 * Eco Revisions record from the Database
179 *Parameters OUT : Eco Revisions completed record
180 * Mesg Token Table
181 *Purpose : Complete record will take the Database record and compare
182 * it with the user record and complete it with the values from
183 * database, for all those columns that the user has left blank.
184 * User filled columns will not be overwritten.
185 ***************************************************************************/
186 PROCEDURE Populate_Null_Columns
187 ( p_eco_revision_rec IN ENG_Eco_PUB.Eco_Revision_Rec_Type
188 , p_old_eco_revision_rec IN ENG_Eco_PUB.Eco_Revision_Rec_Type
189 , p_Eco_Rev_Unexp_Rec IN Eng_Eco_Pub.Eco_Rev_Unexposed_Rec_Type
190 , p_Old_Eco_Rev_Unexp_Rec IN Eng_Eco_Pub.Eco_Rev_Unexposed_Rec_Type
191 , x_Eco_Revision_Rec IN OUT NOCOPY Eng_Eco_Pub.Eco_Revision_Rec_Type
192 , x_Eco_Rev_Unexp_Rec IN OUT NOCOPY Eng_Eco_Pub.Eco_Rev_Unexposed_Rec_Type
193 , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
194 )
195 IS
196 l_eco_revision_rec ENG_Eco_PUB.Eco_Revision_Rec_Type :=
197 p_eco_revision_rec;
198 l_Eco_Rev_Unexp_Rec Eng_Eco_Pub.Eco_Rev_Unexposed_Rec_Type :=
199 p_Eco_Rev_Unexp_Rec;
200 BEGIN
201
202 --dbms_output.put_line('performing complete record . . . ');
203
204 --dbms_output.put_line('Revision_id : ' ||
205 -- to_char(p_old_Eco_Rev_Unexp_Rec.revision_id));
206 --dbms_output.put_line('Comment : ' || p_old_eco_revision_rec.comments);
207
208 IF l_Eco_Revision_Rec.comments = FND_API.G_MISS_CHAR THEN
209 l_Eco_Revision_Rec.comments := p_Old_Eco_Revision_Rec.Comments;
210 END IF;
211
212 IF l_eco_revision_rec.attribute11 = FND_API.G_MISS_CHAR THEN
213 l_eco_revision_rec.attribute11 := p_old_eco_revision_rec.attribute11;
214 END IF;
215
216 IF l_eco_revision_rec.attribute12 = FND_API.G_MISS_CHAR THEN
217 l_eco_revision_rec.attribute12 := p_old_eco_revision_rec.attribute12;
218 END IF;
219
220 IF l_eco_revision_rec.attribute13 = FND_API.G_MISS_CHAR THEN
221 l_eco_revision_rec.attribute13 := p_old_eco_revision_rec.attribute13;
222 END IF;
223
224 IF l_eco_revision_rec.attribute14 = FND_API.G_MISS_CHAR THEN
225 l_eco_revision_rec.attribute14 := p_old_eco_revision_rec.attribute14;
226 END IF;
227
228 IF l_eco_revision_rec.attribute15 = FND_API.G_MISS_CHAR THEN
229 l_eco_revision_rec.attribute15 := p_old_eco_revision_rec.attribute15;
230 END IF;
231
232 IF l_eco_revision_rec.attribute1 = FND_API.G_MISS_CHAR THEN
233 l_eco_revision_rec.attribute1 := p_old_eco_revision_rec.attribute1;
234 END IF;
235
236 IF l_eco_revision_rec.attribute2 = FND_API.G_MISS_CHAR THEN
237 l_eco_revision_rec.attribute2 := p_old_eco_revision_rec.attribute2;
238 END IF;
239
240 IF l_eco_revision_rec.attribute3 = FND_API.G_MISS_CHAR THEN
241 l_eco_revision_rec.attribute3 := p_old_eco_revision_rec.attribute3;
242 END IF;
243
244 IF l_eco_revision_rec.attribute4 = FND_API.G_MISS_CHAR THEN
245 l_eco_revision_rec.attribute4 := p_old_eco_revision_rec.attribute4;
246 END IF;
247
248 IF l_eco_revision_rec.attribute5 = FND_API.G_MISS_CHAR THEN
249 l_eco_revision_rec.attribute5 := p_old_eco_revision_rec.attribute5;
250 END IF;
251
252 IF l_eco_revision_rec.attribute6 = FND_API.G_MISS_CHAR THEN
253 l_eco_revision_rec.attribute6 := p_old_eco_revision_rec.attribute6;
254 END IF;
255
256 IF l_eco_revision_rec.attribute7 = FND_API.G_MISS_CHAR THEN
257 l_eco_revision_rec.attribute7 := p_old_eco_revision_rec.attribute7;
258 END IF;
259
260 IF l_eco_revision_rec.attribute8 = FND_API.G_MISS_CHAR THEN
261 l_eco_revision_rec.attribute8 := p_old_eco_revision_rec.attribute8;
262 END IF;
263
264 IF l_eco_revision_rec.attribute9 = FND_API.G_MISS_CHAR THEN
265 l_eco_revision_rec.attribute9 := p_old_eco_revision_rec.attribute9;
266 END IF;
267
268 IF l_eco_revision_rec.attribute10 = FND_API.G_MISS_CHAR THEN
269 l_eco_revision_rec.attribute10 := p_old_eco_revision_rec.attribute10;
270 END IF;
271
272 --- Complete the Unexposed Record too.
273
274 IF l_Eco_Rev_Unexp_Rec.Revision_Id IS NULL OR
275 l_Eco_Rev_Unexp_Rec.Revision_Id = FND_API.G_MISS_NUM
276 THEN
277 l_Eco_Rev_Unexp_Rec.Revision_Id := p_Old_Eco_Rev_Unexp_Rec.Revision_Id;
278 END IF;
279
280 -- Simply copy rest of the columns from old to new
281 l_Eco_Rev_Unexp_Rec.Organization_Id :=
282 p_Old_Eco_Rev_Unexp_Rec.Organization_Id;
283
284 x_Eco_Revision_Rec := l_eco_revision_rec;
285 x_Eco_Rev_Unexp_Rec := l_Eco_Rev_Unexp_Rec;
286
287 END Populate_Null_Columns;
288
289 END ENG_Default_Eco_Revision;