36:
37: -- In the future call Flex APIs for defaults
38: x_eam_res_rec := p_eam_res_rec;
39:
40: IF p_eam_res_rec.attribute_category =FND_API.G_MISS_CHAR THEN
41: x_eam_res_rec.attribute_category := NULL;
42: END IF;
43:
44: IF p_eam_res_rec.attribute1 = FND_API.G_MISS_CHAR THEN
40: IF p_eam_res_rec.attribute_category =FND_API.G_MISS_CHAR THEN
41: x_eam_res_rec.attribute_category := NULL;
42: END IF;
43:
44: IF p_eam_res_rec.attribute1 = FND_API.G_MISS_CHAR THEN
45: x_eam_res_rec.attribute1 := NULL;
46: END IF;
47:
48: IF p_eam_res_rec.attribute2 = FND_API.G_MISS_CHAR THEN
44: IF p_eam_res_rec.attribute1 = FND_API.G_MISS_CHAR THEN
45: x_eam_res_rec.attribute1 := NULL;
46: END IF;
47:
48: IF p_eam_res_rec.attribute2 = FND_API.G_MISS_CHAR THEN
49: x_eam_res_rec.attribute2 := NULL;
50: END IF;
51:
52: IF p_eam_res_rec.attribute3 = FND_API.G_MISS_CHAR THEN
48: IF p_eam_res_rec.attribute2 = FND_API.G_MISS_CHAR THEN
49: x_eam_res_rec.attribute2 := NULL;
50: END IF;
51:
52: IF p_eam_res_rec.attribute3 = FND_API.G_MISS_CHAR THEN
53: x_eam_res_rec.attribute3 := NULL;
54: END IF;
55:
56: IF p_eam_res_rec.attribute4 = FND_API.G_MISS_CHAR THEN
52: IF p_eam_res_rec.attribute3 = FND_API.G_MISS_CHAR THEN
53: x_eam_res_rec.attribute3 := NULL;
54: END IF;
55:
56: IF p_eam_res_rec.attribute4 = FND_API.G_MISS_CHAR THEN
57: x_eam_res_rec.attribute4 := NULL;
58: END IF;
59:
60: IF p_eam_res_rec.attribute5 = FND_API.G_MISS_CHAR THEN
56: IF p_eam_res_rec.attribute4 = FND_API.G_MISS_CHAR THEN
57: x_eam_res_rec.attribute4 := NULL;
58: END IF;
59:
60: IF p_eam_res_rec.attribute5 = FND_API.G_MISS_CHAR THEN
61: x_eam_res_rec.attribute5 := NULL;
62: END IF;
63:
64: IF p_eam_res_rec.attribute6 = FND_API.G_MISS_CHAR THEN
60: IF p_eam_res_rec.attribute5 = FND_API.G_MISS_CHAR THEN
61: x_eam_res_rec.attribute5 := NULL;
62: END IF;
63:
64: IF p_eam_res_rec.attribute6 = FND_API.G_MISS_CHAR THEN
65: x_eam_res_rec.attribute6 := NULL;
66: END IF;
67:
68: IF p_eam_res_rec.attribute7 = FND_API.G_MISS_CHAR THEN
64: IF p_eam_res_rec.attribute6 = FND_API.G_MISS_CHAR THEN
65: x_eam_res_rec.attribute6 := NULL;
66: END IF;
67:
68: IF p_eam_res_rec.attribute7 = FND_API.G_MISS_CHAR THEN
69: x_eam_res_rec.attribute7 := NULL;
70: END IF;
71:
72: IF p_eam_res_rec.attribute8 = FND_API.G_MISS_CHAR THEN
68: IF p_eam_res_rec.attribute7 = FND_API.G_MISS_CHAR THEN
69: x_eam_res_rec.attribute7 := NULL;
70: END IF;
71:
72: IF p_eam_res_rec.attribute8 = FND_API.G_MISS_CHAR THEN
73: x_eam_res_rec.attribute8 := NULL;
74: END IF;
75:
76: IF p_eam_res_rec.attribute9 = FND_API.G_MISS_CHAR THEN
72: IF p_eam_res_rec.attribute8 = FND_API.G_MISS_CHAR THEN
73: x_eam_res_rec.attribute8 := NULL;
74: END IF;
75:
76: IF p_eam_res_rec.attribute9 = FND_API.G_MISS_CHAR THEN
77: x_eam_res_rec.attribute9 := NULL;
78: END IF;
79:
80: IF p_eam_res_rec.attribute10 = FND_API.G_MISS_CHAR THEN
76: IF p_eam_res_rec.attribute9 = FND_API.G_MISS_CHAR THEN
77: x_eam_res_rec.attribute9 := NULL;
78: END IF;
79:
80: IF p_eam_res_rec.attribute10 = FND_API.G_MISS_CHAR THEN
81: x_eam_res_rec.attribute10 := NULL;
82: END IF;
83:
84: IF p_eam_res_rec.attribute11 = FND_API.G_MISS_CHAR THEN
80: IF p_eam_res_rec.attribute10 = FND_API.G_MISS_CHAR THEN
81: x_eam_res_rec.attribute10 := NULL;
82: END IF;
83:
84: IF p_eam_res_rec.attribute11 = FND_API.G_MISS_CHAR THEN
85: x_eam_res_rec.attribute11 := NULL;
86: END IF;
87:
88: IF p_eam_res_rec.attribute12 = FND_API.G_MISS_CHAR THEN
84: IF p_eam_res_rec.attribute11 = FND_API.G_MISS_CHAR THEN
85: x_eam_res_rec.attribute11 := NULL;
86: END IF;
87:
88: IF p_eam_res_rec.attribute12 = FND_API.G_MISS_CHAR THEN
89: x_eam_res_rec.attribute12 := NULL;
90: END IF;
91:
92: IF p_eam_res_rec.attribute13 = FND_API.G_MISS_CHAR THEN
88: IF p_eam_res_rec.attribute12 = FND_API.G_MISS_CHAR THEN
89: x_eam_res_rec.attribute12 := NULL;
90: END IF;
91:
92: IF p_eam_res_rec.attribute13 = FND_API.G_MISS_CHAR THEN
93: x_eam_res_rec.attribute13 := NULL;
94: END IF;
95:
96: IF p_eam_res_rec.attribute14 = FND_API.G_MISS_CHAR THEN
92: IF p_eam_res_rec.attribute13 = FND_API.G_MISS_CHAR THEN
93: x_eam_res_rec.attribute13 := NULL;
94: END IF;
95:
96: IF p_eam_res_rec.attribute14 = FND_API.G_MISS_CHAR THEN
97: x_eam_res_rec.attribute14 := NULL;
98: END IF;
99:
100: IF p_eam_res_rec.attribute15 = FND_API.G_MISS_CHAR THEN
96: IF p_eam_res_rec.attribute14 = FND_API.G_MISS_CHAR THEN
97: x_eam_res_rec.attribute14 := NULL;
98: END IF;
99:
100: IF p_eam_res_rec.attribute15 = FND_API.G_MISS_CHAR THEN
101: x_eam_res_rec.attribute15 := NULL;
102: END IF;
103:
104: END get_flex_eam_rs;
124: l_eam_res_rec EAM_PROCESS_WO_PUB.eam_res_rec_type;
125: BEGIN
126:
127: x_eam_res_rec := p_eam_res_rec;
128: x_return_status := FND_API.G_RET_STS_SUCCESS;
129:
130: x_eam_res_rec.basis_type := 1; -- Item
131:
132: -- Defaulting assigned_units
130: x_eam_res_rec.basis_type := 1; -- Item
131:
132: -- Defaulting assigned_units
133: IF p_eam_res_rec.assigned_units IS NULL OR
134: p_eam_res_rec.assigned_units = FND_API.G_MISS_NUM
135: THEN
136: x_eam_res_rec.assigned_units := 1;
137: END IF;
138:
137: END IF;
138:
139: -- Defaulting autocharge_type
140: IF p_eam_res_rec.autocharge_type IS NULL OR
141: p_eam_res_rec.autocharge_type = FND_API.G_MISS_NUM
142: THEN
143: x_eam_res_rec.autocharge_type := 2; -- Manual
144: END IF;
145:
144: END IF;
145:
146: -- Defaulting uom_code
147: IF (p_eam_res_rec.uom_code IS NULL OR
148: p_eam_res_rec.uom_code = FND_API.G_MISS_CHAR) AND
149: p_eam_res_rec.resource_id is not null AND
150: p_eam_res_rec.organization_id is not null
151: THEN
152: select unit_of_measure into x_eam_res_rec.uom_code
156: END IF;
157:
158: -- Defaulting applied_resource_units
159: IF p_eam_res_rec.applied_resource_units IS NULL OR
160: p_eam_res_rec.applied_resource_units = FND_API.G_MISS_NUM
161: THEN
162: x_eam_res_rec.applied_resource_units := 0;
163: END IF;
164:
163: END IF;
164:
165: -- Defaulting applied_resource_value
166: IF p_eam_res_rec.applied_resource_value IS NULL OR
167: p_eam_res_rec.applied_resource_value = FND_API.G_MISS_NUM
168: THEN
169: x_eam_res_rec.applied_resource_value := 0;
170: END IF;
171:
170: END IF;
171:
172: -- Defaulting standard_rate_flag
173: IF p_eam_res_rec.standard_rate_flag IS NULL OR
174: p_eam_res_rec.standard_rate_flag = FND_API.G_MISS_NUM
175: THEN
176: x_eam_res_rec.standard_rate_flag := 1;
177: END IF;
178:
177: END IF;
178:
179: -- Defaulting scheduled_flag
180: IF p_eam_res_rec.scheduled_flag IS NULL OR
181: p_eam_res_rec.scheduled_flag = FND_API.G_MISS_NUM
182: THEN
183: x_eam_res_rec.scheduled_flag := 2;
184: END IF;
185:
184: END IF;
185:
186: -- Defaulting department_id
187: IF (p_eam_res_rec.department_id IS NULL OR
188: p_eam_res_rec.department_id = FND_API.G_MISS_NUM) AND
189: p_eam_res_rec.operation_seq_num is not null AND
190: p_eam_res_rec.organization_id is not null AND
191: p_eam_res_rec.wip_entity_id is not null
192: THEN
211: , p_message_text => G_PKG_NAME || SQLERRM
212: , x_mesg_token_Tbl => x_mesg_token_tbl
213: );
214:
215: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
216:
217:
218: END Attribute_Defaulting;
219:
240:
241: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Processing null columns prior update'); END IF;
242:
243: IF p_eam_res_rec.resource_id IS NULL OR
244: p_eam_res_rec.resource_id = FND_API.G_MISS_NUM
245: THEN
246: x_eam_res_rec.resource_id := p_old_eam_res_rec.resource_id;
247: END IF;
248:
246: x_eam_res_rec.resource_id := p_old_eam_res_rec.resource_id;
247: END IF;
248:
249: IF p_eam_res_rec.uom_code IS NULL OR
250: p_eam_res_rec.uom_code = FND_API.G_MISS_CHAR
251: THEN
252: x_eam_res_rec.uom_code := p_old_eam_res_rec.uom_code;
253: END IF;
254:
252: x_eam_res_rec.uom_code := p_old_eam_res_rec.uom_code;
253: END IF;
254:
255: IF p_eam_res_rec.basis_type IS NULL OR
256: p_eam_res_rec.basis_type = FND_API.G_MISS_NUM
257: THEN
258: x_eam_res_rec.basis_type := p_old_eam_res_rec.basis_type;
259: END IF;
260:
258: x_eam_res_rec.basis_type := p_old_eam_res_rec.basis_type;
259: END IF;
260:
261: IF p_eam_res_rec.usage_rate_or_amount IS NULL OR
262: p_eam_res_rec.usage_rate_or_amount = FND_API.G_MISS_NUM
263: THEN
264: x_eam_res_rec.usage_rate_or_amount := p_old_eam_res_rec.usage_rate_or_amount;
265: END IF;
266:
264: x_eam_res_rec.usage_rate_or_amount := p_old_eam_res_rec.usage_rate_or_amount;
265: END IF;
266:
267: IF p_eam_res_rec.activity_id IS NULL OR
268: p_eam_res_rec.activity_id = FND_API.G_MISS_NUM
269: THEN
270: x_eam_res_rec.activity_id := p_old_eam_res_rec.activity_id;
271: END IF;
272:
270: x_eam_res_rec.activity_id := p_old_eam_res_rec.activity_id;
271: END IF;
272:
273: IF p_eam_res_rec.scheduled_flag IS NULL OR
274: p_eam_res_rec.scheduled_flag = FND_API.G_MISS_NUM
275: THEN
276: x_eam_res_rec.scheduled_flag := p_old_eam_res_rec.scheduled_flag;
277: END IF;
278:
276: x_eam_res_rec.scheduled_flag := p_old_eam_res_rec.scheduled_flag;
277: END IF;
278:
279: IF p_eam_res_rec.firm_flag IS NULL OR
280: p_eam_res_rec.firm_flag = FND_API.G_MISS_NUM
281: THEN
282: x_eam_res_rec.firm_flag := p_old_eam_res_rec.firm_flag;
283: END IF;
284:
282: x_eam_res_rec.firm_flag := p_old_eam_res_rec.firm_flag;
283: END IF;
284:
285: IF p_eam_res_rec.assigned_units IS NULL OR
286: p_eam_res_rec.assigned_units = FND_API.G_MISS_NUM
287: THEN
288: x_eam_res_rec.assigned_units := p_old_eam_res_rec.assigned_units;
289: END IF;
290:
288: x_eam_res_rec.assigned_units := p_old_eam_res_rec.assigned_units;
289: END IF;
290:
291: IF p_eam_res_rec.maximum_assigned_units IS NULL OR
292: p_eam_res_rec.maximum_assigned_units = FND_API.G_MISS_NUM
293: THEN
294: x_eam_res_rec.maximum_assigned_units := p_old_eam_res_rec.maximum_assigned_units;
295: END IF;
296:
294: x_eam_res_rec.maximum_assigned_units := p_old_eam_res_rec.maximum_assigned_units;
295: END IF;
296:
297: IF p_eam_res_rec.autocharge_type IS NULL OR
298: p_eam_res_rec.autocharge_type = FND_API.G_MISS_NUM
299: THEN
300: x_eam_res_rec.autocharge_type := p_old_eam_res_rec.autocharge_type;
301: END IF;
302:
300: x_eam_res_rec.autocharge_type := p_old_eam_res_rec.autocharge_type;
301: END IF;
302:
303: IF p_eam_res_rec.standard_rate_flag IS NULL OR
304: p_eam_res_rec.standard_rate_flag = FND_API.G_MISS_NUM
305: THEN
306: x_eam_res_rec.standard_rate_flag := p_old_eam_res_rec.standard_rate_flag;
307: END IF;
308:
306: x_eam_res_rec.standard_rate_flag := p_old_eam_res_rec.standard_rate_flag;
307: END IF;
308:
309: IF p_eam_res_rec.applied_resource_units IS NULL OR
310: p_eam_res_rec.applied_resource_units = FND_API.G_MISS_NUM
311: THEN
312: x_eam_res_rec.applied_resource_units := p_old_eam_res_rec.applied_resource_units;
313: END IF;
314:
312: x_eam_res_rec.applied_resource_units := p_old_eam_res_rec.applied_resource_units;
313: END IF;
314:
315: IF p_eam_res_rec.applied_resource_value IS NULL OR
316: p_eam_res_rec.applied_resource_value = FND_API.G_MISS_NUM
317: THEN
318: x_eam_res_rec.applied_resource_value := p_old_eam_res_rec.applied_resource_value;
319: END IF;
320:
318: x_eam_res_rec.applied_resource_value := p_old_eam_res_rec.applied_resource_value;
319: END IF;
320:
321: IF p_eam_res_rec.start_date IS NULL OR
322: p_eam_res_rec.start_date = FND_API.G_MISS_DATE
323: THEN
324: x_eam_res_rec.start_date := p_old_eam_res_rec.start_date;
325: END IF;
326:
324: x_eam_res_rec.start_date := p_old_eam_res_rec.start_date;
325: END IF;
326:
327: IF p_eam_res_rec.completion_date IS NULL OR
328: p_eam_res_rec.completion_date = FND_API.G_MISS_DATE
329: THEN
330: x_eam_res_rec.completion_date := p_old_eam_res_rec.completion_date;
331: END IF;
332:
330: x_eam_res_rec.completion_date := p_old_eam_res_rec.completion_date;
331: END IF;
332:
333: IF p_eam_res_rec.schedule_seq_num IS NULL OR
334: p_eam_res_rec.schedule_seq_num = FND_API.G_MISS_NUM
335: THEN
336: x_eam_res_rec.schedule_seq_num := p_old_eam_res_rec.schedule_seq_num;
337: END IF;
338:
336: x_eam_res_rec.schedule_seq_num := p_old_eam_res_rec.schedule_seq_num;
337: END IF;
338:
339: IF p_eam_res_rec.substitute_group_num IS NULL OR
340: p_eam_res_rec.substitute_group_num = FND_API.G_MISS_NUM
341: THEN
342: x_eam_res_rec.substitute_group_num := p_old_eam_res_rec.substitute_group_num;
343: END IF;
344:
342: x_eam_res_rec.substitute_group_num := p_old_eam_res_rec.substitute_group_num;
343: END IF;
344:
345: IF p_eam_res_rec.replacement_group_num IS NULL OR
346: p_eam_res_rec.replacement_group_num = FND_API.G_MISS_NUM
347: THEN
348: x_eam_res_rec.replacement_group_num := p_old_eam_res_rec.replacement_group_num;
349: END IF;
350:
351: --
352: -- Populate Null or missng flex field columns
353: --
354: IF p_eam_res_rec.attribute_category IS NULL OR
355: p_eam_res_rec.attribute_category = FND_API.G_MISS_CHAR
356: THEN
357: x_eam_res_rec.attribute_category := p_old_eam_res_rec.attribute_category;
358:
359: END IF;
357: x_eam_res_rec.attribute_category := p_old_eam_res_rec.attribute_category;
358:
359: END IF;
360:
361: IF p_eam_res_rec.attribute1 = FND_API.G_MISS_CHAR OR
362: p_eam_res_rec.attribute1 IS NULL
363: THEN
364: x_eam_res_rec.attribute1 := p_old_eam_res_rec.attribute1;
365: END IF;
363: THEN
364: x_eam_res_rec.attribute1 := p_old_eam_res_rec.attribute1;
365: END IF;
366:
367: IF p_eam_res_rec.attribute2 = FND_API.G_MISS_CHAR OR
368: p_eam_res_rec.attribute2 IS NULL
369: THEN
370: x_eam_res_rec.attribute2 := p_old_eam_res_rec.attribute2;
371: END IF;
369: THEN
370: x_eam_res_rec.attribute2 := p_old_eam_res_rec.attribute2;
371: END IF;
372:
373: IF p_eam_res_rec.attribute3 = FND_API.G_MISS_CHAR OR
374: p_eam_res_rec.attribute3 IS NULL
375: THEN
376: x_eam_res_rec.attribute3 := p_old_eam_res_rec.attribute3;
377: END IF;
375: THEN
376: x_eam_res_rec.attribute3 := p_old_eam_res_rec.attribute3;
377: END IF;
378:
379: IF p_eam_res_rec.attribute4 = FND_API.G_MISS_CHAR OR
380: p_eam_res_rec.attribute4 IS NULL
381: THEN
382: x_eam_res_rec.attribute4 := p_old_eam_res_rec.attribute4;
383: END IF;
381: THEN
382: x_eam_res_rec.attribute4 := p_old_eam_res_rec.attribute4;
383: END IF;
384:
385: IF p_eam_res_rec.attribute5 = FND_API.G_MISS_CHAR OR
386: p_eam_res_rec.attribute5 IS NULL
387: THEN
388: x_eam_res_rec.attribute5 := p_old_eam_res_rec.attribute5;
389: END IF;
387: THEN
388: x_eam_res_rec.attribute5 := p_old_eam_res_rec.attribute5;
389: END IF;
390:
391: IF p_eam_res_rec.attribute6 = FND_API.G_MISS_CHAR OR
392: p_eam_res_rec.attribute6 IS NULL
393: THEN
394: x_eam_res_rec.attribute6 := p_old_eam_res_rec.attribute6;
395: END IF;
393: THEN
394: x_eam_res_rec.attribute6 := p_old_eam_res_rec.attribute6;
395: END IF;
396:
397: IF p_eam_res_rec.attribute7 = FND_API.G_MISS_CHAR OR
398: p_eam_res_rec.attribute7 IS NULL
399: THEN
400: x_eam_res_rec.attribute7 := p_old_eam_res_rec.attribute7;
401: END IF;
399: THEN
400: x_eam_res_rec.attribute7 := p_old_eam_res_rec.attribute7;
401: END IF;
402:
403: IF p_eam_res_rec.attribute8 = FND_API.G_MISS_CHAR OR
404: p_eam_res_rec.attribute8 IS NULL
405: THEN
406: x_eam_res_rec.attribute8 := p_old_eam_res_rec.attribute8;
407: END IF;
405: THEN
406: x_eam_res_rec.attribute8 := p_old_eam_res_rec.attribute8;
407: END IF;
408:
409: IF p_eam_res_rec.attribute9 = FND_API.G_MISS_CHAR OR
410: p_eam_res_rec.attribute9 IS NULL
411: THEN
412: x_eam_res_rec.attribute9 := p_old_eam_res_rec.attribute9;
413: END IF;
411: THEN
412: x_eam_res_rec.attribute9 := p_old_eam_res_rec.attribute9;
413: END IF;
414:
415: IF p_eam_res_rec.attribute10 = FND_API.G_MISS_CHAR OR
416: p_eam_res_rec.attribute10 IS NULL
417: THEN
418: x_eam_res_rec.attribute10 := p_old_eam_res_rec.attribute10;
419: END IF;
417: THEN
418: x_eam_res_rec.attribute10 := p_old_eam_res_rec.attribute10;
419: END IF;
420:
421: IF p_eam_res_rec.attribute11 = FND_API.G_MISS_CHAR OR
422: p_eam_res_rec.attribute11 IS NULL
423: THEN
424: x_eam_res_rec.attribute11 := p_old_eam_res_rec.attribute11;
425: END IF;
423: THEN
424: x_eam_res_rec.attribute11 := p_old_eam_res_rec.attribute11;
425: END IF;
426:
427: IF p_eam_res_rec.attribute12 = FND_API.G_MISS_CHAR OR
428: p_eam_res_rec.attribute12 IS NULL
429: THEN
430: x_eam_res_rec.attribute12 := p_old_eam_res_rec.attribute12;
431: END IF;
429: THEN
430: x_eam_res_rec.attribute12 := p_old_eam_res_rec.attribute12;
431: END IF;
432:
433: IF p_eam_res_rec.attribute13 = FND_API.G_MISS_CHAR OR
434: p_eam_res_rec.attribute13 IS NULL
435: THEN
436: x_eam_res_rec.attribute13 := p_old_eam_res_rec.attribute13;
437: END IF;
435: THEN
436: x_eam_res_rec.attribute13 := p_old_eam_res_rec.attribute13;
437: END IF;
438:
439: IF p_eam_res_rec.attribute14 = FND_API.G_MISS_CHAR OR
440: p_eam_res_rec.attribute14 IS NULL
441: THEN
442: x_eam_res_rec.attribute14 := p_old_eam_res_rec.attribute14;
443: END IF;
441: THEN
442: x_eam_res_rec.attribute14 := p_old_eam_res_rec.attribute14;
443: END IF;
444:
445: IF p_eam_res_rec.attribute15 = FND_API.G_MISS_CHAR OR
446: p_eam_res_rec.attribute15 IS NULL
447: THEN
448: x_eam_res_rec.attribute15 := p_old_eam_res_rec.attribute15;
449: END IF;
447: THEN
448: x_eam_res_rec.attribute15 := p_old_eam_res_rec.attribute15;
449: END IF;
450:
451: IF p_eam_res_rec.department_id = FND_API.G_MISS_NUM OR
452: p_eam_res_rec.department_id IS NULL
453: THEN
454: x_eam_res_rec.department_id := p_old_eam_res_rec.department_id;
455: END IF;