41: p_repair_type_id IN NUMBER,
42: x_warning_flag OUT NOCOPY VARCHAR2) IS
43:
44: -- CONSTANTS --
45: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
46: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
47: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
48: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
49: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
42: x_warning_flag OUT NOCOPY VARCHAR2) IS
43:
44: -- CONSTANTS --
45: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
46: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
47: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
48: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
49: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
50: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
43:
44: -- CONSTANTS --
45: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
46: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
47: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
48: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
49: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
50: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
51: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
44: -- CONSTANTS --
45: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
46: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
47: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
48: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
49: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
50: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
51: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
52: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.log_wip_resource_txn_warnings';
45: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
46: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
47: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
48: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
49: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
50: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
51: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
52: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.log_wip_resource_txn_warnings';
53: lc_api_name CONSTANT VARCHAR2(30) := 'LOG_WIP_RESOURCE_TXN_WARNINGS';
46: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
47: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
48: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
49: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
50: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
51: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
52: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.log_wip_resource_txn_warnings';
53: lc_api_name CONSTANT VARCHAR2(30) := 'LOG_WIP_RESOURCE_TXN_WARNINGS';
54:
47: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
48: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
49: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
50: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
51: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
52: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.log_wip_resource_txn_warnings';
53: lc_api_name CONSTANT VARCHAR2(30) := 'LOG_WIP_RESOURCE_TXN_WARNINGS';
54:
55: -- Fetches records that have the following warning -
114: BEGIN
115:
116: -- logging
117: if (lc_proc_level >= lc_debug_level) then
118: FND_LOG.STRING(lc_proc_level, lc_mod_name || '.BEGIN',
119: 'Entering CSD_REPAIR_ACTUAL_PROCESS_PVT.Log_WIP_Resource_Txn_warnings');
120: end if;
121:
122: -- log parameters
120: end if;
121:
122: -- log parameters
123: if (lc_stat_level >= lc_debug_level) then
124: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
125: 'p_wip_entity_id: ' || p_wip_entity_id);
126: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
127: 'p_depot_organization: ' || p_depot_organization);
128: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
122: -- log parameters
123: if (lc_stat_level >= lc_debug_level) then
124: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
125: 'p_wip_entity_id: ' || p_wip_entity_id);
126: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
127: 'p_depot_organization: ' || p_depot_organization);
128: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
129: 'p_wip_organization: ' || p_wip_organization);
130: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
124: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
125: 'p_wip_entity_id: ' || p_wip_entity_id);
126: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
127: 'p_depot_organization: ' || p_depot_organization);
128: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
129: 'p_wip_organization: ' || p_wip_organization);
130: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
131: 'p_repair_type_id: ' || p_repair_type_id);
132: end if;
126: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
127: 'p_depot_organization: ' || p_depot_organization);
128: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
129: 'p_wip_organization: ' || p_wip_organization);
130: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
131: 'p_repair_type_id: ' || p_repair_type_id);
132: end if;
133:
134: -- Set the warning flag
134: -- Set the warning flag
135: x_warning_flag := FND_API.G_FALSE;
136:
137: if (lc_stat_level >= lc_debug_level) then
138: FND_LOG.STRING(lc_stat_level, lc_mod_name,
139: 'Before the FOR LOOP for C_Resource_Item_Not_Defined.');
140: end if;
141:
142: -- Simply gets all records and log warnings for each of them.
142: -- Simply gets all records and log warnings for each of them.
143: FOR i_rec IN C_Resource_Item_Not_Defined LOOP
144: x_warning_flag := FND_API.G_TRUE;
145: if (lc_stat_level >= lc_debug_level) then
146: FND_LOG.STRING(lc_stat_level, lc_mod_name,
147: 'The billing item is not defined for the Resource = ' || i_rec.RESOURCE_CODE);
148: end if;
149: FND_MESSAGE.set_name( 'CSD', 'CSD_ACT_RESOURCE_NO_ITEM');
150: -- 'The billing item is not defined for the Resource $RESOURCE_CODE'.
152: FND_MSG_PUB.add_detail( p_message_type => FND_MSG_PUB.G_WARNING_MSG );
153: END LOOP;
154:
155: if (lc_stat_level >= lc_debug_level) then
156: FND_LOG.STRING(lc_stat_level, lc_mod_name,
157: 'After the FOR LOOP for C_Resource_Item_Not_Defined.');
158: end if;
159:
160: if (lc_stat_level >= lc_debug_level) then
157: 'After the FOR LOOP for C_Resource_Item_Not_Defined.');
158: end if;
159:
160: if (lc_stat_level >= lc_debug_level) then
161: FND_LOG.STRING(lc_stat_level, lc_mod_name,
162: 'Before the FOR LOOP for C_Resource_Item_In_Depot_Org.');
163: end if;
164:
165: -- Simply gets all records and log warnings for each of them if -
173: IF i_rec.Quantity > 0 THEN
174: IF ( i_rec.DEPOT_ITEM_ID IS NULL ) THEN
175: x_warning_flag := FND_API.G_TRUE;
176: if (lc_stat_level >= lc_debug_level) then
177: FND_LOG.STRING(lc_stat_level, lc_mod_name,
178: 'The item ' || i_rec.WIP_ITEM_NAME || ' is not defined in the Service '
179: || 'Validation Organization. It is defined only in the WIP organization.');
180: end if;
181: FND_MESSAGE.set_name( 'CSD', 'CSD_ACT_ITEM_NOT_SRV_ORG');
184: FND_MSG_PUB.add_detail( p_message_type => FND_MSG_PUB.G_WARNING_MSG );
185: ELSIF ( i_rec.BILLING_TYPE IS NULL ) THEN
186: x_warning_flag := FND_API.G_TRUE;
187: if (lc_stat_level >= lc_debug_level) then
188: FND_LOG.STRING(lc_stat_level, lc_mod_name,
189: 'Billing type is not defined for the item ' || i_rec.WIP_ITEM_NAME);
190: end if;
191: FND_MESSAGE.set_name( 'CSD', 'CSD_ACT_ITEM_NO_BILLING_TYPE');
192: -- '''Billing type'' is not defined for the item $ITEM_NAME.
197:
198: END LOOP;
199:
200: if (lc_stat_level >= lc_debug_level) then
201: FND_LOG.STRING(lc_stat_level, lc_mod_name,
202: 'After the FOR LOOP for C_Resource_Item_In_Depot_Org.');
203: end if;
204:
205: if (lc_stat_level >= lc_debug_level) then
202: 'After the FOR LOOP for C_Resource_Item_In_Depot_Org.');
203: end if;
204:
205: if (lc_stat_level >= lc_debug_level) then
206: FND_LOG.STRING(lc_stat_level, lc_mod_name,
207: 'Before the FOR LOOP for C_Resource_Txn_Billing_Type.');
208: end if;
209:
210: -- Simply gets all records and log warnings for each of them.
211: FOR i_rec IN C_Resource_Txn_Billing_Type LOOP
212: IF i_rec.Quantity > 0 THEN
213: x_warning_flag := FND_API.G_TRUE;
214: if (lc_stat_level >= lc_debug_level) then
215: FND_LOG.STRING(lc_stat_level, lc_mod_name,
216: 'Unable to determine service activity billing type for the item ' || i_rec.DEPOT_ITEM_NAME);
217: end if;
218: FND_MESSAGE.set_name( 'CSD', 'CSD_CHRG_NO_ITEM_SAR');
219: -- Unable to determine service activity billing type for the item $ITEM.
222: END IF;
223: END LOOP;
224:
225: if (lc_stat_level >= lc_debug_level) then
226: FND_LOG.STRING(lc_stat_level, lc_mod_name,
227: 'After the FOR LOOP for C_Resource_Txn_Billing_Type.');
228: end if;
229:
230: -- Note : This procedure only adds to the FND msg stack. The msgs will
231: -- be logged to the generic message utility by the calling program.
232:
233: -- logging
234: if (lc_proc_level >= lc_debug_level) then
235: FND_LOG.STRING(lc_proc_level, lc_mod_name || '.END',
236: 'Leaving CSD_REPAIR_ACTUAL_PROCESS_PVT.Log_WIP_Resource_Txn_warnings');
237: end if;
238:
239: END Log_WIP_Resource_Txn_warnings;
268: x_warning_flag OUT NOCOPY VARCHAR2
269: ) IS
270:
271: -- CONSTANTS --
272: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
273: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
274: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
275: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
276: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
269: ) IS
270:
271: -- CONSTANTS --
272: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
273: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
274: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
275: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
276: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
277: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
270:
271: -- CONSTANTS --
272: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
273: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
274: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
275: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
276: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
277: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
278: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
271: -- CONSTANTS --
272: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
273: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
274: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
275: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
276: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
277: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
278: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
279: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.log_wip_mtl_txn_warnings';
272: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
273: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
274: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
275: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
276: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
277: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
278: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
279: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.log_wip_mtl_txn_warnings';
280: lc_api_name CONSTANT VARCHAR2(30) := 'LOG_WIP_MTL_TXN_WARNINGS';
273: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
274: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
275: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
276: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
277: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
278: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
279: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.log_wip_mtl_txn_warnings';
280: lc_api_name CONSTANT VARCHAR2(30) := 'LOG_WIP_MTL_TXN_WARNINGS';
281:
274: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
275: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
276: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
277: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
278: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
279: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.log_wip_mtl_txn_warnings';
280: lc_api_name CONSTANT VARCHAR2(30) := 'LOG_WIP_MTL_TXN_WARNINGS';
281:
282: -- Fetches records that have the following warnings -
343: BEGIN
344:
345: -- logging
346: if (lc_proc_level >= lc_debug_level) then
347: FND_LOG.STRING(lc_proc_level, lc_mod_name || '.BEGIN',
348: 'Entering CSD_REPAIR_ACTUAL_PROCESS_PVT.Log_WIP_MTL_Txn_warnings');
349: end if;
350:
351: -- log parameters
349: end if;
350:
351: -- log parameters
352: if (lc_stat_level >= lc_debug_level) then
353: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
354: 'p_wip_entity_id: ' || p_wip_entity_id);
355: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
356: 'p_depot_organization: ' || p_depot_organization);
357: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
351: -- log parameters
352: if (lc_stat_level >= lc_debug_level) then
353: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
354: 'p_wip_entity_id: ' || p_wip_entity_id);
355: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
356: 'p_depot_organization: ' || p_depot_organization);
357: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
358: 'p_wip_organization: ' || p_wip_organization);
359: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
353: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
354: 'p_wip_entity_id: ' || p_wip_entity_id);
355: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
356: 'p_depot_organization: ' || p_depot_organization);
357: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
358: 'p_wip_organization: ' || p_wip_organization);
359: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
360: 'p_inventory_item_id: ' || p_inventory_item_id);
361: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
355: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
356: 'p_depot_organization: ' || p_depot_organization);
357: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
358: 'p_wip_organization: ' || p_wip_organization);
359: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
360: 'p_inventory_item_id: ' || p_inventory_item_id);
361: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
362: 'p_repair_type_id: ' || p_repair_type_id);
363: end if;
357: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
358: 'p_wip_organization: ' || p_wip_organization);
359: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
360: 'p_inventory_item_id: ' || p_inventory_item_id);
361: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
362: 'p_repair_type_id: ' || p_repair_type_id);
363: end if;
364:
365: -- Set the warning flag
365: -- Set the warning flag
366: x_warning_flag := FND_API.G_FALSE;
367:
368: if (lc_stat_level >= lc_debug_level) then
369: FND_LOG.STRING(lc_stat_level, lc_mod_name,
370: 'Before the FOR LOOP for C_MTL_Item_In_Depot_Org.');
371: end if;
372:
373: -- Simply gets all records and log warnings for each of them if -
379: FOR i_rec IN C_MTL_Item_In_Depot_Org LOOP
380: IF i_rec.Quantity > 0 THEN
381: IF (i_rec.DEPOT_ITEM_ID IS NULL) THEN
382: if (lc_stat_level >= lc_debug_level) then
383: FND_LOG.STRING(lc_stat_level, lc_mod_name,
384: 'The item ' || i_rec.WIP_ITEM_NAME || ' is not defined in the Service '
385: || 'Validation Organization. It is defined only in the WIP organization.');
386: end if;
387: x_warning_flag := FND_API.G_TRUE;
390: FND_MESSAGE.set_token('ITEM_NAME', i_rec.WIP_ITEM_NAME);
391: FND_MSG_PUB.add_detail( p_message_type => FND_MSG_PUB.G_WARNING_MSG );
392: ELSIF (i_rec.BILLING_TYPE IS NULL) THEN
393: if (lc_stat_level >= lc_debug_level) then
394: FND_LOG.STRING(lc_stat_level, lc_mod_name,
395: 'Billing type is not defined for the item ' || i_rec.WIP_ITEM_NAME);
396: end if;
397: x_warning_flag := FND_API.G_TRUE;
398: FND_MESSAGE.set_name('CSD','CSD_ACT_ITEM_NO_BILLING_TYPE');
403: END IF;
404: END LOOP;
405:
406: if (lc_stat_level >= lc_debug_level) then
407: FND_LOG.STRING(lc_stat_level, lc_mod_name,
408: 'After the FOR LOOP for C_MTL_Item_In_Depot_Org.');
409: end if;
410:
411: if (lc_stat_level >= lc_debug_level) then
408: 'After the FOR LOOP for C_MTL_Item_In_Depot_Org.');
409: end if;
410:
411: if (lc_stat_level >= lc_debug_level) then
412: FND_LOG.STRING(lc_stat_level, lc_mod_name,
413: 'Before the FOR LOOP for C_MTL_Txn_Billing_Type.');
414: end if;
415:
416: -- Simply gets all records and log warnings for each of them.
417: FOR i_rec IN C_MTL_Txn_Billing_Type LOOP
418: IF i_rec.Quantity > 0 THEN
419: x_warning_flag := FND_API.G_TRUE;
420: if (lc_stat_level >= lc_debug_level) then
421: FND_LOG.STRING(lc_stat_level, lc_mod_name,
422: 'Unable to determine service activity billing type for the item ' || i_rec.DEPOT_ITEM_NAME);
423: end if;
424: FND_MESSAGE.set_name( 'CSD', 'CSD_CHRG_NO_ITEM_SAR');
425: -- Unable to determine service activity billing type for the item $ITEM.
428: END IF;
429: END LOOP;
430:
431: if (lc_stat_level >= lc_debug_level) then
432: FND_LOG.STRING(lc_stat_level, lc_mod_name,
433: 'After the FOR LOOP for C_MTL_Txn_Billing_Type.');
434: end if;
435:
436: -- Note : This procedure only adds to the FND msg stack. The msgs will
437: -- be logged to the generic message utility by the calling program.
438:
439: -- logging
440: if (lc_proc_level >= lc_debug_level) then
441: FND_LOG.STRING(lc_proc_level, lc_mod_name || '.END',
442: 'Leaving CSD_REPAIR_ACTUAL_PROCESS_PVT.Log_WIP_MTL_Txn_warnings');
443: end if;
444:
445: END Log_WIP_MTL_Txn_warnings;
479: )
480: IS
481:
482: -- CONSTANTS --
483: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
484: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
485: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
486: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
487: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
480: IS
481:
482: -- CONSTANTS --
483: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
484: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
485: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
486: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
487: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
488: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
481:
482: -- CONSTANTS --
483: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
484: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
485: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
486: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
487: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
488: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
489: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
482: -- CONSTANTS --
483: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
484: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
485: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
486: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
487: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
488: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
489: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
490: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.import_actuals_from_task';
483: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
484: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
485: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
486: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
487: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
488: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
489: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
490: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.import_actuals_from_task';
491: lc_api_name CONSTANT VARCHAR2(30) := 'IMPORT_ACTUALS_FROM_TASK';
484: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
485: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
486: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
487: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
488: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
489: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
490: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.import_actuals_from_task';
491: lc_api_name CONSTANT VARCHAR2(30) := 'IMPORT_ACTUALS_FROM_TASK';
492: lc_api_version CONSTANT NUMBER := 1.0;
485: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
486: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
487: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
488: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
489: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
490: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.import_actuals_from_task';
491: lc_api_name CONSTANT VARCHAR2(30) := 'IMPORT_ACTUALS_FROM_TASK';
492: lc_api_version CONSTANT NUMBER := 1.0;
493:
611: END IF;
612:
613: -- logging
614: if (lc_proc_level >= lc_debug_level) then
615: FND_LOG.STRING(lc_proc_level, lc_mod_name || '.BEGIN',
616: 'Entering CSD_REPAIR_ACTUAL_PROCESS_PVT.import_actuals_from_task');
617: end if;
618:
619: -- log parameters
617: end if;
618:
619: -- log parameters
620: if (lc_stat_level >= lc_debug_level) then
621: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
622: 'p_api_version: ' || p_api_version);
623: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
624: 'p_commit: ' || p_commit);
625: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
619: -- log parameters
620: if (lc_stat_level >= lc_debug_level) then
621: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
622: 'p_api_version: ' || p_api_version);
623: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
624: 'p_commit: ' || p_commit);
625: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
626: 'p_init_msg_list: ' || p_init_msg_list);
627: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
621: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
622: 'p_api_version: ' || p_api_version);
623: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
624: 'p_commit: ' || p_commit);
625: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
626: 'p_init_msg_list: ' || p_init_msg_list);
627: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
628: 'p_validation_level: ' || p_validation_level);
629: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
623: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
624: 'p_commit: ' || p_commit);
625: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
626: 'p_init_msg_list: ' || p_init_msg_list);
627: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
628: 'p_validation_level: ' || p_validation_level);
629: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
630: 'p_repair_line_id: ' || p_repair_line_id);
631: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
625: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
626: 'p_init_msg_list: ' || p_init_msg_list);
627: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
628: 'p_validation_level: ' || p_validation_level);
629: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
630: 'p_repair_line_id: ' || p_repair_line_id);
631: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
632: 'p_repair_actual_id: ' || p_repair_actual_id);
633: end if;
627: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
628: 'p_validation_level: ' || p_validation_level);
629: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
630: 'p_repair_line_id: ' || p_repair_line_id);
631: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
632: 'p_repair_actual_id: ' || p_repair_actual_id);
633: end if;
634:
635: -- Initialize API return status to success
643: x_warning_flag := FND_API.G_FALSE;
644:
645: -- Validate mandatory input parameters.
646: if (lc_proc_level >= lc_debug_level) then
647: FND_LOG.STRING(lc_proc_level, lc_mod_name,
648: 'Calling CSD_PROCESS_UTIL.Check_Reqd_Param for p_repair_line_id');
649: end if;
650:
651: CSD_PROCESS_UTIL.Check_Reqd_Param
653: p_param_name => 'REPAIR_LINE_ID',
654: p_api_name => lc_api_name);
655:
656: if (lc_stat_level >= lc_debug_level) then
657: FND_LOG.STRING(lc_stat_level, lc_mod_name,
658: 'Done checking required params');
659: end if;
660:
661: if (lc_stat_level >= lc_debug_level) then
658: 'Done checking required params');
659: end if;
660:
661: if (lc_stat_level >= lc_debug_level) then
662: FND_LOG.STRING(lc_stat_level, lc_mod_name,
663: 'Opening Cursor c_multi_currency_check');
664: end if;
665:
666: -- We need to make sure that no charge lines exist
670: INTO l_multi_currency_count;
671: CLOSE c_multi_currency_check;
672:
673: if (lc_stat_level >= lc_debug_level) then
674: FND_LOG.STRING(lc_stat_level, lc_mod_name,
675: 'Cursor c_multi_currency_check closed. Count is = ' || l_multi_currency_count);
676: end if;
677:
678: -- Expect the value to be zero. If the value is more
679: -- than 0 then it means that a charge line with diff
680: -- currency exixts.
681: If (l_multi_currency_count > 0) THEN
682: if (lc_stat_level >= lc_debug_level) then
683: FND_LOG.STRING(lc_stat_level, lc_mod_name,
684: 'Task debrief lines have more than one distinct currencies.');
685: end if;
686: FND_MESSAGE.SET_NAME('CSD','CSD_ACT_MULTI_CURR_TASK');
687: -- Task debrief lines cannot be imported into actuals for
697: -- Before we start the process of copying the
698: -- lines, we purge any existing error messages for the
699: -- Module ACT (source entity ESTIMATE).
700: if (lc_proc_level >= lc_debug_level) then
701: FND_LOG.STRING(lc_proc_level, lc_mod_name,
702: 'Calling CSD_GEN_ERRMSGS_PVT.purge_entity_msgs');
703: end if;
704: CSD_GEN_ERRMSGS_PVT.purge_entity_msgs(
705: p_api_version => 1.0,
715: x_msg_data => x_msg_data
716: );
717:
718: if (lc_proc_level >= lc_debug_level) then
719: FND_LOG.STRING(lc_proc_level, lc_mod_name,
720: 'Returned from CSD_GEN_ERRMSGS_PVT.purge_entity_msgs');
721: end if;
722:
723: -- Stall the process if we were unable to purge
739: -- For all the charge lines in cs_estimate_details table
740: -- for the given Repair Order
741: -- LOOP
742: if (lc_stat_level >= lc_debug_level) then
743: FND_LOG.STRING(lc_stat_level, lc_mod_name,
744: 'Begin loop through c_valid_task_charge_lines');
745: end if;
746: FOR task_charge_line_rec IN c_valid_task_charge_lines
747: LOOP
756: -- Increment the total count.
757: l_import_line_total_count := l_import_line_total_count + 1;
758:
759: if (lc_stat_level >= lc_debug_level) then
760: FND_LOG.STRING(lc_stat_level, lc_mod_name,
761: 'l_skip_curr_row = false');
762: FND_LOG.STRING(lc_stat_level, lc_mod_name,
763: 'l_curr_actual_line_rec.ESTIMATE_DETAIL_ID = ' || task_charge_line_rec.estimate_detail_id);
764: FND_LOG.STRING(lc_stat_level, lc_mod_name,
758:
759: if (lc_stat_level >= lc_debug_level) then
760: FND_LOG.STRING(lc_stat_level, lc_mod_name,
761: 'l_skip_curr_row = false');
762: FND_LOG.STRING(lc_stat_level, lc_mod_name,
763: 'l_curr_actual_line_rec.ESTIMATE_DETAIL_ID = ' || task_charge_line_rec.estimate_detail_id);
764: FND_LOG.STRING(lc_stat_level, lc_mod_name,
765: 'l_curr_actual_line_rec.REPAIR_ACTUAL_ID = ' || p_repair_actual_id);
766: FND_LOG.STRING(lc_stat_level, lc_mod_name,
760: FND_LOG.STRING(lc_stat_level, lc_mod_name,
761: 'l_skip_curr_row = false');
762: FND_LOG.STRING(lc_stat_level, lc_mod_name,
763: 'l_curr_actual_line_rec.ESTIMATE_DETAIL_ID = ' || task_charge_line_rec.estimate_detail_id);
764: FND_LOG.STRING(lc_stat_level, lc_mod_name,
765: 'l_curr_actual_line_rec.REPAIR_ACTUAL_ID = ' || p_repair_actual_id);
766: FND_LOG.STRING(lc_stat_level, lc_mod_name,
767: 'l_curr_actual_line_rec.REPAIR_LINE_ID = ' || p_repair_line_id);
768: FND_LOG.STRING(lc_stat_level, lc_mod_name,
762: FND_LOG.STRING(lc_stat_level, lc_mod_name,
763: 'l_curr_actual_line_rec.ESTIMATE_DETAIL_ID = ' || task_charge_line_rec.estimate_detail_id);
764: FND_LOG.STRING(lc_stat_level, lc_mod_name,
765: 'l_curr_actual_line_rec.REPAIR_ACTUAL_ID = ' || p_repair_actual_id);
766: FND_LOG.STRING(lc_stat_level, lc_mod_name,
767: 'l_curr_actual_line_rec.REPAIR_LINE_ID = ' || p_repair_line_id);
768: FND_LOG.STRING(lc_stat_level, lc_mod_name,
769: 'l_curr_actual_line_rec.ACTUAL_SOURCE_CODE = ' || G_ACTUAL_SOURCE_CODE_TASK);
770: FND_LOG.STRING(lc_stat_level, lc_mod_name,
764: FND_LOG.STRING(lc_stat_level, lc_mod_name,
765: 'l_curr_actual_line_rec.REPAIR_ACTUAL_ID = ' || p_repair_actual_id);
766: FND_LOG.STRING(lc_stat_level, lc_mod_name,
767: 'l_curr_actual_line_rec.REPAIR_LINE_ID = ' || p_repair_line_id);
768: FND_LOG.STRING(lc_stat_level, lc_mod_name,
769: 'l_curr_actual_line_rec.ACTUAL_SOURCE_CODE = ' || G_ACTUAL_SOURCE_CODE_TASK);
770: FND_LOG.STRING(lc_stat_level, lc_mod_name,
771: 'l_curr_actual_line_rec.ACTUAL_SOURCE_ID = ' || task_charge_line_rec.actual_source_id);
772: end if;
766: FND_LOG.STRING(lc_stat_level, lc_mod_name,
767: 'l_curr_actual_line_rec.REPAIR_LINE_ID = ' || p_repair_line_id);
768: FND_LOG.STRING(lc_stat_level, lc_mod_name,
769: 'l_curr_actual_line_rec.ACTUAL_SOURCE_CODE = ' || G_ACTUAL_SOURCE_CODE_TASK);
770: FND_LOG.STRING(lc_stat_level, lc_mod_name,
771: 'l_curr_actual_line_rec.ACTUAL_SOURCE_ID = ' || task_charge_line_rec.actual_source_id);
772: end if;
773:
774: -- If the copying of charge line was successful then
841: -- We now create a corresponding Repair Actual line.
842: BEGIN
843:
844: if (lc_proc_level >= lc_debug_level) then
845: FND_LOG.STRING(lc_proc_level, lc_mod_name,
846: 'Calling CSD_REPAIR_ACTUAL_LINES_PVT.create_repair_actual_lines');
847: end if;
848:
849: CSD_REPAIR_ACTUAL_LINES_PVT.create_repair_actual_lines(
858: x_msg_data => x_msg_data
859: );
860:
861: if (lc_proc_level >= lc_debug_level) then
862: FND_LOG.STRING(lc_proc_level, lc_mod_name,
863: 'Returned from CSD_REPAIR_ACTUAL_LINES_PVT.create_repair_actual_lines');
864: end if;
865:
866: -- Throw an error if the API returned an error.
872: END IF;
873:
874: IF (l_curr_actual_line_rec.repair_actual_line_id IS NULL) THEN
875: if (lc_proc_level >= lc_debug_level) then
876: FND_LOG.STRING(lc_proc_level, lc_mod_name,
877: 'Unable to create a repair actual line. Create API returned NULL for the repair actual line identifier.');
878: end if;
879: FND_MESSAGE.SET_NAME('CSD','CSD_ACT_NULL_ACTUAL_ID');
880: -- 'Unable to create a repair actual line. Create API returned NULL for the repair actual line identifier.
885: EXCEPTION
886: WHEN FND_API.G_EXC_ERROR THEN
887: l_skip_curr_row := TRUE;
888: if (lc_excep_level >= lc_debug_level) then
889: FND_LOG.STRING(lc_excep_level, lc_mod_name,
890: 'Encountered an EXC error while creating a repair actual line.');
891: end if;
892:
893: WHEN OTHERS THEN
891: end if;
892:
893: WHEN OTHERS THEN
894: if (lc_excep_level >= lc_debug_level) then
895: FND_LOG.STRING(lc_excep_level, lc_mod_name,
896: 'Encountered an OTHERS error while creating a repair actual line.');
897: end if;
898: l_skip_curr_row := TRUE;
899: FND_MESSAGE.SET_NAME('CSD','CSD_ACT_ERROR_ACTUAL_LINE');
915: l_charge_line_rec.ship_to_account_id := l_ship_to_account_id;
916: l_charge_line_rec.ship_to_org_id := l_ship_to_party_site_id;
917:
918: if (lc_proc_level >= lc_debug_level) then
919: FND_LOG.STRING(lc_proc_level, lc_mod_name,
920: 'Calling CSD_REPAIR_ACTUAL_LINES_PVT.update_repair_actual_lines');
921: end if;
922:
923: --yvchen: bug#13439235
943: x_msg_count => x_msg_count,
944: x_msg_data => x_msg_data
945: );
946: if (lc_proc_level >= lc_debug_level) then
947: FND_LOG.STRING(lc_proc_level, lc_mod_name,
948: 'Returned from CSD_REPAIR_ACTUAL_LINES_PVT.update_repair_actual_lines');
949: end if;
950: end if;
951:
960: EXCEPTION
961: WHEN FND_API.G_EXC_ERROR THEN
962: l_skip_curr_row := TRUE;
963: if (lc_proc_level >= lc_debug_level) then
964: FND_LOG.STRING(lc_proc_level, lc_mod_name,
965: 'Encountered an EXEC error while updating a repair actual line with billing information.');
966: end if;
967:
968: WHEN OTHERS THEN
967:
968: WHEN OTHERS THEN
969: l_skip_curr_row := TRUE;
970: if (lc_proc_level >= lc_debug_level) then
971: FND_LOG.STRING(lc_proc_level, lc_mod_name,
972: 'Encountered OTHERS error while updating a repair actual line with billing information.');
973: end if;
974: FND_MESSAGE.SET_NAME('CSD', 'CSD_ACT_ERROR_ACTUAL_LINE');
975: FND_MESSAGE.SET_TOKEN('SQLCODE', SQLCODE);
979: END;
980:
981: IF l_skip_curr_row THEN
982: if (lc_stat_level >= lc_debug_level) then
983: FND_LOG.STRING(lc_stat_level, lc_mod_name,
984: 'l_skip_curr_row = true');
985: end if;
986:
987: -- we rollback any updates/inserts for the current
993: l_import_line_failed_count := l_import_line_failed_count + 1;
994:
995: -- Log all the warnigs/error in the stack.
996: if (lc_proc_level >= lc_debug_level) then
997: FND_LOG.STRING(lc_proc_level, lc_mod_name,
998: 'Calling CSD_GEN_ERRMSGS_PVT.save_fnd_msgs');
999: end if;
1000: CSD_GEN_ERRMSGS_PVT.save_fnd_msgs(
1001: p_api_version => 1.0,
1007: x_msg_count => x_msg_count,
1008: x_msg_data => x_msg_data
1009: );
1010: if (lc_proc_level >= lc_debug_level) then
1011: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1012: 'Returned from CSD_GEN_ERRMSGS_PVT.save_fnd_msgs');
1013: end if;
1014:
1015: -- If we are unable to log messages then we stop
1015: -- If we are unable to log messages then we stop
1016: -- further processing.
1017: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1018: if (lc_proc_level >= lc_debug_level) then
1019: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1020: 'Unable to save messages using the generic logging utility.');
1021: end if;
1022: FND_MESSAGE.SET_NAME( 'CSD', 'CSD_GENERIC_SAVE_FAILED');
1023: -- Unable to save messages using the generic logging utility.
1046: FND_MSG_PUB.add_detail(p_message_type => FND_MSG_PUB.G_INFORMATION_MSG);
1047: END IF;
1048:
1049: if (lc_proc_level >= lc_debug_level) then
1050: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1051: 'Calling procedure CSD_GEN_ERRMSGS_PVT.save_fnd_msgs');
1052: end if;
1053:
1054: CSD_GEN_ERRMSGS_PVT.save_fnd_msgs(
1064: x_msg_count => x_msg_count,
1065: x_msg_data => x_msg_data );
1066:
1067: if (lc_proc_level >= lc_debug_level) then
1068: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1069: 'Returned from procedure CSD_GEN_ERRMSGS_PVT.save_fnd_msgs');
1070: end if;
1071:
1072: -- If we are unable to log messages then we
1072: -- If we are unable to log messages then we
1073: -- throw an error.
1074: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1075: if (lc_proc_level >= lc_debug_level) then
1076: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1077: 'Unable to save messages using the generic logging utility.');
1078: end if;
1079: FND_MESSAGE.SET_NAME( 'CSD', 'CSD_GENERIC_SAVE_FAILED');
1080: -- Unable to save messages using the generic logging utility.
1088: END IF;
1089:
1090: -- logging
1091: if (lc_proc_level >= lc_debug_level) then
1092: FND_LOG.STRING(lc_proc_level, lc_mod_name || '.END',
1093: 'Leaving CSD_REPAIR_ACTUAL_PROCESS_PVT.import_actuals_from_task');
1094: end if;
1095:
1096: EXCEPTION
1102: p_data => x_msg_data );
1103:
1104: -- save message in debug log
1105: IF (lc_excep_level >= lc_debug_level) THEN
1106: FND_LOG.STRING(lc_excep_level, lc_mod_name,
1107: 'EXC_ERROR['||x_msg_data||']');
1108: END IF;
1109: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1110: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1114: p_data => x_msg_data );
1115:
1116: -- save message in debug log
1117: IF (lc_excep_level >= lc_debug_level) THEN
1118: FND_LOG.STRING(lc_excep_level, lc_mod_name,
1119: 'EXC_UNEXPECTED_ERROR['||x_msg_data||']');
1120: END IF;
1121: WHEN OTHERS THEN
1122: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1134: p_data => x_msg_data );
1135: -- save message in debug log
1136: IF (lc_excep_level >= lc_debug_level) THEN
1137: -- create a seeded message
1138: FND_LOG.STRING(lc_excep_level, lc_mod_name,
1139: 'WHEN OTHERS THEN. SQL Message['||sqlerrm||']' );
1140: END IF;
1141:
1142: END Import_Actuals_From_Task;
1177: p_organization_id IN NUMBER,
1178: x_warning_flag OUT NOCOPY VARCHAR2 ) IS
1179:
1180: -- Constants --
1181: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1182: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
1183: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
1184: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
1185: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
1178: x_warning_flag OUT NOCOPY VARCHAR2 ) IS
1179:
1180: -- Constants --
1181: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1182: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
1183: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
1184: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
1185: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
1186: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
1179:
1180: -- Constants --
1181: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1182: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
1183: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
1184: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
1185: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
1186: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
1187: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
1180: -- Constants --
1181: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1182: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
1183: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
1184: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
1185: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
1186: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
1187: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
1188: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.import_actuals_from_wip';
1181: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1182: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
1183: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
1184: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
1185: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
1186: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
1187: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
1188: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.import_actuals_from_wip';
1189: lc_api_name CONSTANT VARCHAR2(30) := 'IMPORT_ACTUALS_FROM_WIP';
1182: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
1183: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
1184: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
1185: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
1186: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
1187: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
1188: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.import_actuals_from_wip';
1189: lc_api_name CONSTANT VARCHAR2(30) := 'IMPORT_ACTUALS_FROM_WIP';
1190: lc_api_version CONSTANT NUMBER := 1.0;
1183: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
1184: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
1185: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
1186: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
1187: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
1188: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.import_actuals_from_wip';
1189: lc_api_name CONSTANT VARCHAR2(30) := 'IMPORT_ACTUALS_FROM_WIP';
1190: lc_api_version CONSTANT NUMBER := 1.0;
1191:
1415: END IF;
1416:
1417: -- logging
1418: if (lc_proc_level >= lc_debug_level) then
1419: FND_LOG.STRING(lc_proc_level, lc_mod_name || '.BEGIN',
1420: 'Entering CSD_REPAIR_ACTUAL_PROCESS_PVT.import_actuals_from_wip');
1421: end if;
1422:
1423: -- log parameters
1421: end if;
1422:
1423: -- log parameters
1424: if (lc_stat_level >= lc_debug_level) then
1425: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1426: 'p_api_version: ' || p_api_version);
1427: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1428: 'p_commit: ' || p_commit);
1429: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1423: -- log parameters
1424: if (lc_stat_level >= lc_debug_level) then
1425: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1426: 'p_api_version: ' || p_api_version);
1427: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1428: 'p_commit: ' || p_commit);
1429: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1430: 'p_init_msg_list: ' || p_init_msg_list);
1431: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1425: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1426: 'p_api_version: ' || p_api_version);
1427: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1428: 'p_commit: ' || p_commit);
1429: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1430: 'p_init_msg_list: ' || p_init_msg_list);
1431: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1432: 'p_validation_level: ' || p_validation_level);
1433: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1427: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1428: 'p_commit: ' || p_commit);
1429: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1430: 'p_init_msg_list: ' || p_init_msg_list);
1431: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1432: 'p_validation_level: ' || p_validation_level);
1433: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1434: 'p_repair_line_id: ' || p_repair_line_id);
1435: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1429: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1430: 'p_init_msg_list: ' || p_init_msg_list);
1431: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1432: 'p_validation_level: ' || p_validation_level);
1433: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1434: 'p_repair_line_id: ' || p_repair_line_id);
1435: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1436: 'p_repair_actual_id: ' || p_repair_actual_id);
1437: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1431: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1432: 'p_validation_level: ' || p_validation_level);
1433: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1434: 'p_repair_line_id: ' || p_repair_line_id);
1435: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1436: 'p_repair_actual_id: ' || p_repair_actual_id);
1437: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1438: 'p_repair_type_id: ' || p_repair_type_id);
1439: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1433: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1434: 'p_repair_line_id: ' || p_repair_line_id);
1435: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1436: 'p_repair_actual_id: ' || p_repair_actual_id);
1437: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1438: 'p_repair_type_id: ' || p_repair_type_id);
1439: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1440: 'p_business_process_id: ' || p_business_process_id);
1441: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1435: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1436: 'p_repair_actual_id: ' || p_repair_actual_id);
1437: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1438: 'p_repair_type_id: ' || p_repair_type_id);
1439: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1440: 'p_business_process_id: ' || p_business_process_id);
1441: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1442: 'p_currency_code: ' || p_currency_code);
1443: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1437: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1438: 'p_repair_type_id: ' || p_repair_type_id);
1439: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1440: 'p_business_process_id: ' || p_business_process_id);
1441: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1442: 'p_currency_code: ' || p_currency_code);
1443: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1444: 'p_incident_id: ' || p_incident_id);
1445: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1439: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1440: 'p_business_process_id: ' || p_business_process_id);
1441: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1442: 'p_currency_code: ' || p_currency_code);
1443: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1444: 'p_incident_id: ' || p_incident_id);
1445: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1446: 'p_organization_id: ' || p_organization_id);
1447: end if;
1441: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1442: 'p_currency_code: ' || p_currency_code);
1443: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1444: 'p_incident_id: ' || p_incident_id);
1445: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
1446: 'p_organization_id: ' || p_organization_id);
1447: end if;
1448:
1449: -- Initialize API return status to success
1458: --DBMS_OUTPUT.put_line( 'before api begin' );
1459:
1460: -- Validate mandatory input parameters.
1461: if (lc_proc_level >= lc_debug_level) then
1462: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1463: 'Calling CSD_PROCESS_UTIL.Check_Reqd_Param for p_repair_line_id');
1464: end if;
1465: CSD_PROCESS_UTIL.Check_Reqd_Param
1466: ( p_param_value => p_repair_line_id,
1467: p_param_name => 'REPAIR_LINE_ID',
1468: p_api_name => lc_api_name);
1469:
1470: if (lc_proc_level >= lc_debug_level) then
1471: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1472: 'Calling CSD_PROCESS_UTIL.Check_Reqd_Param for p_repair_type_id');
1473: end if;
1474:
1475: CSD_PROCESS_UTIL.Check_Reqd_Param
1477: p_param_name => 'REPAIR_TYPE_ID',
1478: p_api_name => lc_api_name);
1479:
1480: if (lc_proc_level >= lc_debug_level) then
1481: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1482: 'Calling CSD_PROCESS_UTIL.Check_Reqd_Param for p_business_process_id');
1483: end if;
1484:
1485: CSD_PROCESS_UTIL.Check_Reqd_Param
1487: p_param_name => 'BUSINESS_PROCESS_ID',
1488: p_api_name => lc_api_name);
1489:
1490: if (lc_proc_level >= lc_debug_level) then
1491: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1492: 'Calling CSD_PROCESS_UTIL.Check_Reqd_Param for p_currency_code');
1493: end if;
1494:
1495: CSD_PROCESS_UTIL.Check_Reqd_Param
1497: p_param_name => 'CURRENCY_CODE',
1498: p_api_name => lc_api_name);
1499:
1500: if (lc_proc_level >= lc_debug_level) then
1501: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1502: 'Calling CSD_PROCESS_UTIL.Check_Reqd_Param for p_incident_id');
1503: end if;
1504:
1505: CSD_PROCESS_UTIL.Check_Reqd_Param
1507: p_param_name => 'INCIDENT_ID',
1508: p_api_name => lc_api_name);
1509:
1510: if (lc_proc_level >= lc_debug_level) then
1511: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1512: 'Calling CSD_PROCESS_UTIL.Check_Reqd_Param for p_organization_id');
1513: end if;
1514:
1515: CSD_PROCESS_UTIL.Check_Reqd_Param
1517: p_param_name => 'ORGANIZATION_ID',
1518: p_api_name => lc_api_name);
1519:
1520: if (lc_stat_level >= lc_debug_level) then
1521: FND_LOG.STRING(lc_stat_level, lc_mod_name,
1522: 'Done checking required params');
1523: end if;
1524:
1525: -- We make API calls to get default contract and price list
1527: -- and the pricelist will together make sense. So we do not
1528: -- unnecessary validate them.
1529:
1530: if (lc_proc_level >= lc_debug_level) then
1531: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1532: 'Calling CSD_CHARGE_LINE_UTIL.Get_DefaultContract');
1533: end if;
1534:
1535: -- Get default Contract.
1535: -- Get default Contract.
1536: l_default_contract_line_id := CSD_CHARGE_LINE_UTIL.Get_DefaultContract( p_repair_line_id );
1537:
1538: if (lc_proc_level >= lc_debug_level) then
1539: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1540: 'Returned from CSD_CHARGE_LINE_UTIL.Get_DefaultContract. '
1541: || 'l_default_contract_line_id = ' || l_default_contract_line_id);
1542: end if;
1543:
1544: --DBMS_OUTPUT.put_line( 'l_default_contract_line_id = '
1545: -- || TO_CHAR( l_default_contract_line_id ));
1546:
1547: if (lc_proc_level >= lc_debug_level) then
1548: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1549: 'Calling CSD_CHARGE_LINE_UTIL.Get_RO_PriceList');
1550: end if;
1551:
1552: -- Get default pricelist for the repair order.
1552: -- Get default pricelist for the repair order.
1553: l_default_price_list_hdr_id := CSD_CHARGE_LINE_UTIL.Get_RO_PriceList(p_repair_line_id);
1554:
1555: if (lc_proc_level >= lc_debug_level) then
1556: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1557: 'Returned from CSD_CHARGE_LINE_UTIL.Get_RO_PriceList. '
1558: || 'l_default_price_list_hdr_id = ' ||l_default_price_list_hdr_id);
1559: end if;
1560:
1562: -- || l_default_price_list_hdr_id );
1563:
1564: IF ( l_default_price_list_hdr_id IS NULL ) THEN
1565: if (lc_proc_level >= lc_debug_level) then
1566: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1567: 'Unable to determine default price list for the repair order.');
1568: end if;
1569: -- Unable to determine default pricelist
1570: FND_MESSAGE.SET_NAME( 'CSD', 'CSD_ACT_DEFAULT_PL_IMPORT');
1578:
1579: -- We should purge the earlier messages before we insert
1580: -- any new ones.
1581: if (lc_proc_level >= lc_debug_level) then
1582: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1583: 'Calling CSD_GEN_ERRMSGS_PVT.purge_entity_msgs');
1584: end if;
1585: CSD_GEN_ERRMSGS_PVT.purge_entity_msgs( p_api_version => 1.0,
1586: -- p_commit => FND_API.G_TRUE,
1594: x_msg_count => x_msg_count,
1595: x_msg_data => x_msg_data );
1596:
1597: if (lc_proc_level >= lc_debug_level) then
1598: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1599: 'Returned from CSD_GEN_ERRMSGS_PVT.purge_entity_msgs');
1600: end if;
1601:
1602: -- Do not proceed if unable to purge.
1607:
1608: -- Log info messages for all the wip jobs that are shared with other
1609: -- repair orders.
1610: if (lc_stat_level >= lc_debug_level) then
1611: FND_LOG.STRING(lc_stat_level, lc_mod_name,
1612: 'Begin LOOP through c_ineligible_WIP_Jobs');
1613: end if;
1614:
1615: FOR inelgible_WIP_rec IN c_ineligible_WIP_Jobs LOOP
1613: end if;
1614:
1615: FOR inelgible_WIP_rec IN c_ineligible_WIP_Jobs LOOP
1616: IF (lc_stat_level >= lc_debug_level) then
1617: FND_LOG.STRING(lc_stat_level, lc_mod_name,
1618: 'The WIP job ' || inelgible_WIP_rec.JOB_NAME || 'is shared across Repair Orders'
1619: || '. It is not imported');
1620: END IF;
1621: -- Add an INFO message indicating whether the job will not be imported.
1626: FND_MESSAGE.set_token( 'JOB_NAME', inelgible_WIP_rec.JOB_NAME );
1627: FND_MSG_PUB.add_detail( p_message_type => FND_MSG_PUB.G_INFORMATION_MSG );
1628:
1629: if (lc_proc_level >= lc_debug_level) then
1630: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1631: 'Calling CSD_GEN_ERRMSGS_PVT.save_fnd_msgs');
1632: end if;
1633: -- We have to log message individually as wip_entity_id is required for
1634: -- logging messages.
1644: x_msg_count => x_msg_count,
1645: x_msg_data => x_msg_data );
1646:
1647: if (lc_proc_level >= lc_debug_level) then
1648: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1649: 'Returned from CSD_GEN_ERRMSGS_PVT.save_fnd_msgs');
1650: end if;
1651:
1652: IF ( x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
1656:
1657: END LOOP; -- c_ineligible_WIP_Jobs cursor
1658:
1659: if (lc_stat_level >= lc_debug_level) then
1660: FND_LOG.STRING(lc_stat_level, lc_mod_name,
1661: 'End LOOP c_ineligible_WIP_Jobs');
1662: end if;
1663:
1664: -- The following is the outermost loop to ensure that we
1666: -- The idea is that if we get into an error while processing
1667: -- a WIP Job, we skip that one, log a ERROR message and
1668: -- continue with next WIP job.
1669: if (lc_stat_level >= lc_debug_level) then
1670: FND_LOG.STRING(lc_stat_level, lc_mod_name,
1671: 'Begin LOOP through c_eligible_WIP_Jobs');
1672: end if;
1673: FOR curr_WIP_job_rec IN c_eligible_WIP_Jobs LOOP
1674: l_wip_count := l_wip_count + 1;
1673: FOR curr_WIP_job_rec IN c_eligible_WIP_Jobs LOOP
1674: l_wip_count := l_wip_count + 1;
1675:
1676: if (lc_stat_level >= lc_debug_level) then
1677: FND_LOG.STRING(lc_stat_level, lc_mod_name,
1678: 'WIP count (l_wip_count) is = ' || l_wip_count);
1679: end if;
1680:
1681: DECLARE
1716:
1717: --dbms_output.put_line('The job name being processed is ' || curr_WIP_job_rec.JOB_NAME);
1718:
1719: if (lc_stat_level >= lc_debug_level) then
1720: FND_LOG.STRING(lc_stat_level, lc_mod_name,
1721: 'Inside the BLOCK for processing one WIP job at a time.');
1722: end if;
1723:
1724: /****** Processing the Material transactions specific data - START *********/
1725:
1726: --DBMS_OUTPUT.put_line( 'processing mtl..' );
1727:
1728: if (lc_stat_level >= lc_debug_level) then
1729: FND_LOG.STRING(lc_stat_level, lc_mod_name,
1730: 'Start: Processing material transactions for the WIP job - ' || curr_WIP_job_rec.JOB_NAME);
1731: end if;
1732:
1733: -- Log bulk messages for all the generic warnings for the
1732:
1733: -- Log bulk messages for all the generic warnings for the
1734: -- material transaction lines.
1735: if (lc_proc_level >= lc_debug_level) then
1736: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1737: 'Calling Log_WIP_MTL_Txn_warnings');
1738: end if;
1739:
1740: Log_WIP_MTL_Txn_warnings(
1746: x_warning_flag => x_curr_warning_flag
1747: );
1748:
1749: if (lc_proc_level >= lc_debug_level) then
1750: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1751: 'Returned from Log_WIP_MTL_Txn_warnings. '
1752: || 'x_curr_warning_flag = ' || x_curr_warning_flag);
1753: end if;
1754:
1763: DECLARE
1764: l_count NUMBER := 0;
1765: BEGIN
1766: if (lc_stat_level >= lc_debug_level) then
1767: FND_LOG.STRING(lc_stat_level, lc_mod_name,
1768: 'Begin: loop through the cursor c_actual_lines_from_materials.');
1769: end if;
1770:
1771: --bug#9557061
1803: end if;
1804: --bug#9557061
1805:
1806: if (lc_stat_level >= lc_debug_level) then
1807: FND_LOG.STRING(lc_stat_level, lc_mod_name,
1808: 'End: loop through the cursor c_actual_lines_from_materials.');
1809: end if;
1810: END;
1811:
1812: --DBMS_OUTPUT.put_line( 'after MTL actuals loop '
1813: -- || l_MLE_MTL_lines_tbl.COUNT );
1814:
1815: if (lc_proc_level >= lc_debug_level) then
1816: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1817: 'Calling procedure CSD_CHARGE_LINE_UTIL.Convert_To_Charge_Lines.');
1818: end if;
1819:
1820: -- Filter out all the bad data and populate 'Charges' table
1843: px_charge_lines_tbl => x_charge_lines_tbl,
1844: x_warning_flag => x_curr_warning_flag );
1845:
1846: if (lc_proc_level >= lc_debug_level) then
1847: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1848: 'Returned from procedure CSD_CHARGE_LINE_UTIL.Convert_To_Charge_Lines. '
1849: || 'x_curr_warning_flag = ' || x_curr_warning_flag);
1850: end if;
1851:
1861: RAISE FND_API.G_EXC_ERROR;
1862: END IF;
1863:
1864: if (lc_stat_level >= lc_debug_level) then
1865: FND_LOG.STRING(lc_stat_level, lc_mod_name,
1866: 'End: Processing material transactions for the WIP job - ' || curr_WIP_job_rec.JOB_NAME);
1867: end if;
1868:
1869: /****** Processing the Material transactions specific data - END *********/
1874:
1875: -- DBMS_OUTPUT.put_line( 'processing RES ..' );
1876:
1877: if (lc_stat_level >= lc_debug_level) then
1878: FND_LOG.STRING(lc_stat_level, lc_mod_name,
1879: 'Start: Processing Resource/WIP transactions for the WIP job - ' || curr_WIP_job_rec.JOB_NAME);
1880: end if;
1881:
1882: -- Log bulk messages for all the generic warnings for the
1881:
1882: -- Log bulk messages for all the generic warnings for the
1883: -- WIP transaction lines.
1884: if (lc_proc_level >= lc_debug_level) then
1885: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1886: 'Calling Log_WIP_Resource_Txn_warnings');
1887: end if;
1888: Log_WIP_Resource_Txn_warnings(
1889: p_wip_entity_id => curr_WIP_job_rec.wip_entity_id,
1893: x_warning_flag => x_curr_warning_flag
1894: );
1895:
1896: if (lc_proc_level >= lc_debug_level) then
1897: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1898: 'Returned from Log_WIP_Resource_Txn_warnings. '
1899: || 'x_curr_warning_flag = ' || x_curr_warning_flag);
1900: end if;
1901:
1909: DECLARE
1910: l_count NUMBER := 0;
1911: BEGIN
1912: if (lc_stat_level >= lc_debug_level) then
1913: FND_LOG.STRING(lc_stat_level, lc_mod_name,
1914: 'Begin: loop through the cursor c_actual_lines_from_resources.');
1915: end if;
1916: FOR actuals_rec IN c_actual_lines_from_resources( curr_WIP_job_rec.wip_entity_id) LOOP
1917: l_count := l_count + 1;
1929: -- Added for ER 3607765, vkjain.
1930: l_MLE_RES_lines_tbl( l_count ).resource_id := actuals_rec.resource_id;
1931: END LOOP;
1932: if (lc_stat_level >= lc_debug_level) then
1933: FND_LOG.STRING(lc_stat_level, lc_mod_name,
1934: 'End: loop through the cursor c_actual_lines_from_resources.');
1935: end if;
1936: END;
1937:
1938: --DBMS_OUTPUT.put_line( 'after the RES actuals loop '
1939: -- || l_MLE_MTL_lines_tbl.COUNT );
1940:
1941: if (lc_proc_level >= lc_debug_level) then
1942: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1943: 'Calling procedure CSD_CHARGE_LINE_UTIL.Convert_To_Charge_Lines.');
1944: end if;
1945:
1946: -- Filter out all the bad data and populate 'Charges' table
1969: px_charge_lines_tbl => x_charge_lines_tbl,
1970: x_warning_flag => x_curr_warning_flag );
1971:
1972: if (lc_proc_level >= lc_debug_level) then
1973: FND_LOG.STRING(lc_proc_level, lc_mod_name,
1974: 'Returned from procedure CSD_CHARGE_LINE_UTIL.Convert_To_Charge_Lines. '
1975: || 'x_curr_warning_flag = ' || x_curr_warning_flag);
1976: end if;
1977:
1987: RAISE FND_API.G_EXC_ERROR;
1988: END IF;
1989:
1990: if (lc_stat_level >= lc_debug_level) then
1991: FND_LOG.STRING(lc_stat_level, lc_mod_name,
1992: 'END: Processing Resource/WIP transactions for the WIP job - ' || curr_WIP_job_rec.JOB_NAME);
1993: end if;
1994:
1995: /****** Processing the Resource/WIP transactions specific data - END *********/
2001: IF ( l_curr_warning_flag <> FND_API.G_FALSE ) THEN
2002: x_warning_flag := l_curr_warning_flag;
2003:
2004: if (lc_stat_level >= lc_debug_level) then
2005: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2006: 'x_warning_flag is set to = ' || x_warning_flag);
2007: end if;
2008:
2009: if (lc_proc_level >= lc_debug_level) then
2006: 'x_warning_flag is set to = ' || x_warning_flag);
2007: end if;
2008:
2009: if (lc_proc_level >= lc_debug_level) then
2010: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2011: 'Calling procedure CSD_GEN_ERRMSGS_PVT.save_fnd_msgs.');
2012: end if;
2013:
2014: CSD_GEN_ERRMSGS_PVT.save_fnd_msgs( p_api_version => 1.0,
2023: x_msg_count => l_msg_count,
2024: x_msg_data => l_msg_data );
2025:
2026: if (lc_proc_level >= lc_debug_level) then
2027: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2028: 'Returned from procedure CSD_GEN_ERRMSGS_PVT.save_fnd_msgs.');
2029: end if;
2030:
2031: --DBMS_OUTPUT.put_line( 'before call to generic save msgs' );
2040: -- if profile set so that entire WIP job is not imported if warnings/errors encountered,
2041: -- then raise exception to rollback.
2042: if (nvl(fnd_profile.value('CSD_IMPORT_WIP_TO_ACT_ON_SUCCESS'),'N') = 'Y') then
2043: if (lc_proc_level >= lc_debug_level) then
2044: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2045: 'Throw EXC error since not all lines were processed sucessfully');
2046: end if;
2047: RAISE FND_API.G_EXC_ERROR;
2048: end if;
2090: -- Insert repair actual line for each record in the tbl.
2091: -- If any row encounters any error, stop processing
2092: -- any further.
2093: if (lc_proc_level >= lc_debug_level) then
2094: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2095: 'Calling procedure CSD_REPAIR_ACTUAL_LINES_PVT.create_repair_actual_lines'
2096: || ' for all actual lines. l_actuals_count = ' || l_actuals_count);
2097: end if;
2098:
2127: x_msg_data => l_msg_data );
2128:
2129: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
2130: if (lc_proc_level >= lc_debug_level) then
2131: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2132: 'Unable to create repair actual lines for count = ' || i);
2133: end if;
2134: --DBMS_OUTPUT.put_line( 'Unable to create repair actual lines' );
2135: RAISE FND_API.G_EXC_ERROR;
2136: END IF;
2137: END LOOP;
2138:
2139: if (lc_proc_level >= lc_debug_level) then
2140: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2141: 'Returned from procedure CSD_REPAIR_ACTUAL_LINES_PVT.create_repair_actual_lines'
2142: || ' for all actual lines. l_actuals_count = ' || l_actuals_count);
2143: end if;
2144:
2145: IF ( l_curr_warning_flag <> FND_API.G_FALSE ) THEN
2146: l_message := 'CSD_ACT_WIP_IMPORT_W_WARN';
2147: -- Debrief lines import for the WIP Job $JOB_NAME completed with warnings. $ACTUAL_LINE_COUNT new repair actual line(s) were created for the job.
2148: if (lc_stat_level >= lc_debug_level) then
2149: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2150: 'Debrief lines import for the WIP Job ' || curr_WIP_job_rec.JOB_NAME
2151: || ' completed with warnings. l_actuals_count = ' || l_actuals_count);
2152: end if;
2153: ELSE
2153: ELSE
2154: l_message := 'CSD_ACT_WIP_IMPORT_NO_WARN';
2155: -- Debrief lines import for the WIP Job $JOB_NAME completed with NO warnings. $ACTUAL_LINE_COUNT new repair actual line(s) were created for the job.
2156: if (lc_stat_level >= lc_debug_level) then
2157: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2158: 'Debrief lines import for the WIP Job ' || curr_WIP_job_rec.JOB_NAME
2159: || ' completed with NO warnings. l_actuals_count = ' || l_actuals_count);
2160: end if;
2161: END IF;
2175: -- has completed with or without warnings. This call should
2176: -- (obviously) be placed after 'create actual line' calls.
2177:
2178: if (lc_proc_level >= lc_debug_level) then
2179: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2180: 'Calling procedure CSD_GEN_ERRMSGS_PVT.save_fnd_msgs.');
2181: end if;
2182:
2183: CSD_GEN_ERRMSGS_PVT.save_fnd_msgs( p_api_version => 1.0,
2192: x_msg_count => l_msg_count,
2193: x_msg_data => l_msg_data );
2194:
2195: if (lc_proc_level >= lc_debug_level) then
2196: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2197: 'Returning from procedure CSD_GEN_ERRMSGS_PVT.save_fnd_msgs.');
2198: end if;
2199:
2200: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
2246:
2247: WHEN GENERIC_MSG_SAVE_FAILED THEN
2248: ROLLBACK TO curr_wip_job_sp;
2249: if (lc_proc_level >= lc_debug_level) then
2250: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2251: 'Encountered an EXEC error while creating a repair actual lines ' ||
2252: 'for the WIP Job ' || curr_WIP_job_rec.JOB_NAME);
2253: end if;
2254: -- We do not want to continue processing.
2261: ROLLBACK TO curr_wip_job_sp;
2262: x_warning_flag := FND_API.G_TRUE;
2263:
2264: if (lc_proc_level >= lc_debug_level) then
2265: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2266: 'Encountered an OTHERS error while creating a repair actual lines ' ||
2267: 'for the WIP Job ' || curr_WIP_job_rec.JOB_NAME ||
2268: '. SQLCODE = ' || SQLCODE || '. SQLERRM = ' || SQLERRM);
2269: end if;
2284: FND_MESSAGE.set_token( 'JOB_NAME', curr_WIP_job_rec.JOB_NAME );
2285: FND_MSG_PUB.add_detail(p_message_type => FND_MSG_PUB.G_ERROR_MSG);
2286:
2287: if (lc_proc_level >= lc_debug_level) then
2288: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2289: 'Calling CSD_GEN_ERRMSGS_PVT.save_fnd_msgs in WHEN OTHERS THEN');
2290: end if;
2291:
2292: CSD_GEN_ERRMSGS_PVT.save_fnd_msgs( p_api_version => 1.0,
2301: x_msg_count => l_msg_count,
2302: x_msg_data => l_msg_data );
2303:
2304: if (lc_proc_level >= lc_debug_level) then
2305: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2306: 'Returned from CSD_GEN_ERRMSGS_PVT.save_fnd_msgs in WHEN OTHERS THEN');
2307: end if;
2308:
2309: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
2317: END;
2318: END LOOP; -- for cursor c_eligible_WIP_Jobs
2319:
2320: if (lc_stat_level >= lc_debug_level) then
2321: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2322: 'End LOOP c_eligible_WIP_Jobs');
2323: end if;
2324:
2325: IF( l_wip_count <= 0 ) THEN
2331: -- FND_MSG_PUB.add_detail(p_message_type => FND_MSG_PUB.G_WARNING_MSG);
2332: -- FND_MSG_PUB.add;
2333:
2334: if (lc_proc_level >= lc_debug_level) then
2335: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2336: 'Calling procedure CSD_GEN_ERRMSGS_PVT.save_fnd_msgs');
2337: end if;
2338:
2339: CSD_GEN_ERRMSGS_PVT.save_fnd_msgs(
2349: x_msg_count => x_msg_count,
2350: x_msg_data => x_msg_data );
2351:
2352: if (lc_proc_level >= lc_debug_level) then
2353: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2354: 'Returned from procedure CSD_GEN_ERRMSGS_PVT.save_fnd_msgs');
2355: end if;
2356:
2357: -- If we are unable to log messages then we
2357: -- If we are unable to log messages then we
2358: -- throw an error.
2359: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2360: if (lc_proc_level >= lc_debug_level) then
2361: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2362: 'Unable to save messages using the generic logging utility.');
2363: end if;
2364: FND_MESSAGE.SET_NAME( 'CSD', 'CSD_GENERIC_SAVE_FAILED');
2365: -- Unable to save messages using the generic logging utility.
2380: END IF;
2381:
2382: -- logging
2383: if (lc_proc_level >= lc_debug_level) then
2384: FND_LOG.STRING(lc_proc_level, lc_mod_name || '.END',
2385: 'Leaving CSD_REPAIR_ACTUAL_PROCESS_PVT.import_actuals_from_wip');
2386: end if;
2387:
2388: -- Standard call to get message count and IF count is get message info.
2401: p_data => x_msg_data );
2402:
2403: -- save message in debug log
2404: IF (lc_excep_level >= lc_debug_level) THEN
2405: FND_LOG.STRING(lc_excep_level, lc_mod_name,
2406: 'EXC_ERROR['||x_msg_data||']');
2407: END IF;
2408:
2409: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2413: p_data => x_msg_data );
2414:
2415: -- save message in debug log
2416: IF (lc_excep_level >= lc_debug_level) THEN
2417: FND_LOG.STRING(lc_excep_level, lc_mod_name,
2418: 'EXC_UNEXPECTED_ERROR['||x_msg_data||']');
2419: END IF;
2420:
2421: WHEN GENERIC_MSG_SAVE_FAILED THEN
2423: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2424:
2425: -- save message in debug log
2426: IF (lc_excep_level >= lc_debug_level) THEN
2427: FND_LOG.STRING(lc_excep_level, lc_mod_name,
2428: 'GENERIC_MSG_SAVE_FAILED. SQL Message['||x_msg_data||']');
2429: END IF;
2430:
2431: FND_MESSAGE.SET_NAME( 'CSD', 'CSD_GENERIC_SAVE_FAILED');
2448: END IF;
2449:
2450: -- save message in debug log
2451: IF (lc_excep_level >= lc_debug_level) THEN
2452: FND_LOG.STRING(lc_excep_level, lc_mod_name,
2453: 'WHEN OTHERS THEN. SQL Message['||SQLERRM||']');
2454: END IF;
2455:
2456: FND_MESSAGE.SET_NAME( 'CSD', 'CSD_ACT_WIP_IMPORT_OTHERS');
2492: x_warning_flag OUT NOCOPY VARCHAR2
2493: )
2494: IS
2495: -- CONSTANTS --
2496: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2497: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
2498: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
2499: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
2500: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
2493: )
2494: IS
2495: -- CONSTANTS --
2496: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2497: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
2498: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
2499: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
2500: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
2501: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
2494: IS
2495: -- CONSTANTS --
2496: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2497: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
2498: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
2499: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
2500: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
2501: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
2502: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
2495: -- CONSTANTS --
2496: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2497: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
2498: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
2499: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
2500: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
2501: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
2502: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
2503: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.import_actuals_from_estimate';
2496: lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2497: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
2498: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
2499: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
2500: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
2501: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
2502: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
2503: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.import_actuals_from_estimate';
2504: lc_api_name CONSTANT VARCHAR2(30) := 'IMPORT_ACTUALS_FROM_ESTIMATE';
2497: lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
2498: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
2499: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
2500: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
2501: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
2502: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
2503: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.import_actuals_from_estimate';
2504: lc_api_name CONSTANT VARCHAR2(30) := 'IMPORT_ACTUALS_FROM_ESTIMATE';
2505: lc_api_version CONSTANT NUMBER := 1.0;
2498: lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
2499: lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
2500: lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
2501: lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
2502: lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
2503: lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repair_actual_process_pvt.import_actuals_from_estimate';
2504: lc_api_name CONSTANT VARCHAR2(30) := 'IMPORT_ACTUALS_FROM_ESTIMATE';
2505: lc_api_version CONSTANT NUMBER := 1.0;
2506:
2619: END IF;
2620:
2621: -- logging
2622: if (lc_proc_level >= lc_debug_level) then
2623: FND_LOG.STRING(lc_proc_level, lc_mod_name || '.BEGIN',
2624: 'Entering CSD_REPAIR_ACTUAL_PROCESS_PVT.import_actuals_from_estimate');
2625: end if;
2626: -- log parameters
2627: if (lc_stat_level >= lc_debug_level) then
2624: 'Entering CSD_REPAIR_ACTUAL_PROCESS_PVT.import_actuals_from_estimate');
2625: end if;
2626: -- log parameters
2627: if (lc_stat_level >= lc_debug_level) then
2628: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2629: 'p_api_version: ' || p_api_version);
2630: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2631: 'p_commit: ' || p_commit);
2632: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2626: -- log parameters
2627: if (lc_stat_level >= lc_debug_level) then
2628: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2629: 'p_api_version: ' || p_api_version);
2630: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2631: 'p_commit: ' || p_commit);
2632: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2633: 'p_init_msg_list: ' || p_init_msg_list);
2634: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2628: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2629: 'p_api_version: ' || p_api_version);
2630: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2631: 'p_commit: ' || p_commit);
2632: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2633: 'p_init_msg_list: ' || p_init_msg_list);
2634: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2635: 'p_validation_level: ' || p_validation_level);
2636: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2630: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2631: 'p_commit: ' || p_commit);
2632: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2633: 'p_init_msg_list: ' || p_init_msg_list);
2634: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2635: 'p_validation_level: ' || p_validation_level);
2636: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2637: 'p_repair_line_id: ' || p_repair_line_id);
2638: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2632: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2633: 'p_init_msg_list: ' || p_init_msg_list);
2634: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2635: 'p_validation_level: ' || p_validation_level);
2636: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2637: 'p_repair_line_id: ' || p_repair_line_id);
2638: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2639: 'p_repair_actual_id: ' || p_repair_actual_id);
2640: end if;
2634: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2635: 'p_validation_level: ' || p_validation_level);
2636: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2637: 'p_repair_line_id: ' || p_repair_line_id);
2638: FND_LOG.STRING(lc_stat_level, lc_mod_name || '.parameter_logging',
2639: 'p_repair_actual_id: ' || p_repair_actual_id);
2640: end if;
2641:
2642: -- Initialize API return status to success
2650: x_warning_flag := FND_API.G_FALSE;
2651:
2652: -- Validate mandatory input parameters.
2653: if (lc_proc_level >= lc_debug_level) then
2654: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2655: 'Calling CSD_PROCESS_UTIL.Check_Reqd_Param for p_repair_line_id');
2656: end if;
2657: CSD_PROCESS_UTIL.Check_Reqd_Param
2658: ( p_param_value => p_repair_line_id,
2659: p_param_name => 'REPAIR_LINE_ID',
2660: p_api_name => lc_api_name);
2661:
2662: if (lc_stat_level >= lc_debug_level) then
2663: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2664: 'Done checking required params');
2665: end if;
2666:
2667: -- Before we start the process of copying the
2667: -- Before we start the process of copying the
2668: -- lines, we purge any existing error messages for the
2669: -- Module ACT (source entity ESTIMATE).
2670: if (lc_proc_level >= lc_debug_level) then
2671: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2672: 'Calling CSD_GEN_ERRMSGS_PVT.purge_entity_msgs');
2673: end if;
2674: CSD_GEN_ERRMSGS_PVT.purge_entity_msgs(
2675: p_api_version => 1.0,
2684: x_msg_count => x_msg_count,
2685: x_msg_data => x_msg_data
2686: );
2687: if (lc_proc_level >= lc_debug_level) then
2688: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2689: 'Returned from CSD_GEN_ERRMSGS_PVT.purge_entity_msgs');
2690: end if;
2691:
2692: -- Stall the process if we were unable to purge
2711: -- For all the estimate lines in csd_repair_estimate_lines
2712: -- table (for the given Repair Order) import into repair actual lines.
2713: -- LOOP
2714: if (lc_stat_level >= lc_debug_level) then
2715: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2716: 'Begin loop through c_valid_estimate_lines');
2717: end if;
2718: FOR estimate_line_rec IN c_valid_estimate_lines
2719: LOOP
2731: BEGIN
2732: -- Call the Charges API to make an 'Actual' charge line
2733: -- copy of the 'Estimate' charge line.
2734: if (lc_proc_level >= lc_debug_level) then
2735: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2736: 'Calling CS_Charge_Details_PUB.copy_estimate for estimate_detail_id=' || estimate_line_rec.estimate_detail_id);
2737: end if;
2738: CS_Charge_Details_PUB.copy_estimate(
2739: p_api_version => 1.0,
2747: x_msg_data => x_msg_data
2748: );
2749:
2750: if (lc_proc_level >= lc_debug_level) then
2751: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2752: 'Returned from CS_Charge_Details_PUB.copy_estimate');
2753: end if;
2754: if (lc_stat_level >= lc_debug_level) then
2755: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2751: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2752: 'Returned from CS_Charge_Details_PUB.copy_estimate');
2753: end if;
2754: if (lc_stat_level >= lc_debug_level) then
2755: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2756: 'x_return_status = ' || x_return_status);
2757: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2758: 'l_estimate_detail_id = ' || l_estimate_detail_id);
2759: end if;
2753: end if;
2754: if (lc_stat_level >= lc_debug_level) then
2755: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2756: 'x_return_status = ' || x_return_status);
2757: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2758: 'l_estimate_detail_id = ' || l_estimate_detail_id);
2759: end if;
2760:
2761: -- Throw an error if the API returned an error.
2767: END IF;
2768:
2769: IF (l_estimate_detail_id IS NULL) THEN
2770: if (lc_proc_level >= lc_debug_level) then
2771: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2772: 'Unable to copy the Estimate charge line into Actual charge line. Charges API returned NULL for the Estimate Detail identifier.');
2773: end if;
2774: FND_MESSAGE.SET_NAME('CSD', 'CSD_ACT_COPY_CHRG_LINE_FAIL');
2775: FND_MSG_PUB.add_detail(p_message_type => FND_MSG_PUB.G_ERROR_MSG);
2782:
2783: WHEN OTHERS THEN
2784: l_skip_curr_row := TRUE;
2785: if (lc_proc_level >= lc_debug_level) then
2786: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2787: 'Encountered an unknown error while copying an estimate charge line to an actual charge line. SQLCODE = ' || SQLCODE || ', SQLERRM = ' || SQLERRM );
2788: end if;
2789: FND_MESSAGE.SET_NAME('CSD', 'CSD_ACT_EST_IMPORT_ERR');
2790: FND_MESSAGE.SET_TOKEN('SQLCODE', SQLCODE);
2794:
2795: IF NOT l_skip_curr_row THEN
2796:
2797: if (lc_stat_level >= lc_debug_level) then
2798: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2799: 'l_skip_curr_row = false');
2800: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2801: 'l_curr_actual_line_rec.ESTIMATE_DETAIL_ID = ' || l_estimate_detail_id);
2802: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2796:
2797: if (lc_stat_level >= lc_debug_level) then
2798: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2799: 'l_skip_curr_row = false');
2800: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2801: 'l_curr_actual_line_rec.ESTIMATE_DETAIL_ID = ' || l_estimate_detail_id);
2802: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2803: 'l_curr_actual_line_rec.REPAIR_ACTUAL_ID = ' || p_repair_actual_id);
2804: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2798: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2799: 'l_skip_curr_row = false');
2800: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2801: 'l_curr_actual_line_rec.ESTIMATE_DETAIL_ID = ' || l_estimate_detail_id);
2802: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2803: 'l_curr_actual_line_rec.REPAIR_ACTUAL_ID = ' || p_repair_actual_id);
2804: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2805: 'l_curr_actual_line_rec.REPAIR_LINE_ID = ' || p_repair_line_id);
2806: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2800: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2801: 'l_curr_actual_line_rec.ESTIMATE_DETAIL_ID = ' || l_estimate_detail_id);
2802: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2803: 'l_curr_actual_line_rec.REPAIR_ACTUAL_ID = ' || p_repair_actual_id);
2804: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2805: 'l_curr_actual_line_rec.REPAIR_LINE_ID = ' || p_repair_line_id);
2806: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2807: 'l_curr_actual_line_rec.OVERRIDE_CHARGE_FLAG = ' || estimate_line_rec.override_charge_flag);
2808: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2802: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2803: 'l_curr_actual_line_rec.REPAIR_ACTUAL_ID = ' || p_repair_actual_id);
2804: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2805: 'l_curr_actual_line_rec.REPAIR_LINE_ID = ' || p_repair_line_id);
2806: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2807: 'l_curr_actual_line_rec.OVERRIDE_CHARGE_FLAG = ' || estimate_line_rec.override_charge_flag);
2808: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2809: 'l_curr_actual_line_rec.ACTUAL_SOURCE_CODE = ' || G_ACTUAL_SOURCE_CODE_ESTIMATE);
2810: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2804: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2805: 'l_curr_actual_line_rec.REPAIR_LINE_ID = ' || p_repair_line_id);
2806: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2807: 'l_curr_actual_line_rec.OVERRIDE_CHARGE_FLAG = ' || estimate_line_rec.override_charge_flag);
2808: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2809: 'l_curr_actual_line_rec.ACTUAL_SOURCE_CODE = ' || G_ACTUAL_SOURCE_CODE_ESTIMATE);
2810: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2811: 'l_curr_actual_line_rec.ACTUAL_SOURCE_ID = ' || estimate_line_rec.repair_estimate_line_id);
2812: end if;
2806: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2807: 'l_curr_actual_line_rec.OVERRIDE_CHARGE_FLAG = ' || estimate_line_rec.override_charge_flag);
2808: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2809: 'l_curr_actual_line_rec.ACTUAL_SOURCE_CODE = ' || G_ACTUAL_SOURCE_CODE_ESTIMATE);
2810: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2811: 'l_curr_actual_line_rec.ACTUAL_SOURCE_ID = ' || estimate_line_rec.repair_estimate_line_id);
2812: end if;
2813:
2814: -- If the copying of charge line was successful then
2878: -- We now create a corresponding Repair Actual line.
2879: BEGIN
2880:
2881: if (lc_proc_level >= lc_debug_level) then
2882: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2883: 'Calling CSD_REPAIR_ACTUAL_LINES_PVT.create_repair_actual_lines');
2884: end if;
2885: CSD_REPAIR_ACTUAL_LINES_PVT.create_repair_actual_lines(
2886: p_api_version => 1.0,
2893: x_msg_count => x_msg_count,
2894: x_msg_data => x_msg_data
2895: );
2896: if (lc_proc_level >= lc_debug_level) then
2897: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2898: 'Returned from CSD_REPAIR_ACTUAL_LINES_PVT.create_repair_actual_lines');
2899: end if;
2900:
2901: -- Throw an error if the API returned an error.
2907: END IF;
2908:
2909: IF (l_curr_actual_line_rec.repair_actual_line_id IS NULL) THEN
2910: if (lc_proc_level >= lc_debug_level) then
2911: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2912: 'Unable to create a repair actual line. Create API returned NULL for the repair actual line identifier.');
2913: end if;
2914: FND_MESSAGE.SET_NAME('CSD', 'CSD_ACT_NULL_ACTUAL_ID');
2915: FND_MSG_PUB.add_detail(p_message_type => FND_MSG_PUB.G_ERROR_MSG);
2919: EXCEPTION
2920: WHEN FND_API.G_EXC_ERROR THEN
2921: l_skip_curr_row := TRUE;
2922: if (lc_proc_level >= lc_debug_level) then
2923: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2924: 'Encountered an EXEC error while creating a repair actual line.');
2925: end if;
2926:
2927: WHEN OTHERS THEN
2926:
2927: WHEN OTHERS THEN
2928: l_skip_curr_row := TRUE;
2929: if (lc_proc_level >= lc_debug_level) then
2930: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2931: 'Encountered OTHERS error while creating a repair actual line.');
2932: end if;
2933: FND_MESSAGE.SET_NAME('CSD', 'CSD_ACT_ERROR_ACTUAL_LINE');
2934: FND_MESSAGE.SET_TOKEN('SQLCODE', SQLCODE);
2949: END IF; -- IF NOT l_skip_curr_row
2950:
2951: IF l_skip_curr_row THEN
2952: if (lc_stat_level >= lc_debug_level) then
2953: FND_LOG.STRING(lc_stat_level, lc_mod_name,
2954: 'l_skip_curr_row = true');
2955: end if;
2956:
2957: -- we rollback any updates/inserts for the current
2963: l_est_line_failed_count := l_est_line_failed_count + 1;
2964:
2965: -- Save warnings/errors that may be the stack
2966: if (lc_proc_level >= lc_debug_level) then
2967: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2968: 'Calling CSD_GEN_ERRMSGS_PVT.save_fnd_msgs');
2969: end if;
2970: CSD_GEN_ERRMSGS_PVT.save_fnd_msgs(
2971: p_api_version => 1.0,
2980: x_msg_count => x_msg_count,
2981: x_msg_data => x_msg_data
2982: );
2983: if (lc_proc_level >= lc_debug_level) then
2984: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2985: 'Returned from CSD_GEN_ERRMSGS_PVT.save_fnd_msgs');
2986: end if;
2987:
2988: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2986: end if;
2987:
2988: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2989: if (lc_proc_level >= lc_debug_level) then
2990: FND_LOG.STRING(lc_proc_level, lc_mod_name,
2991: 'Unable to save messages using the generic logging utility.');
2992: end if;
2993: FND_MESSAGE.SET_NAME( 'CSD', 'CSD_GENERIC_SAVE_FAILED');
2994: FND_MSG_PUB.add_detail(p_message_type => FND_MSG_PUB.G_ERROR_MSG);
3016: FND_MSG_PUB.add_detail(p_message_type => FND_MSG_PUB.G_INFORMATION_MSG);
3017: END IF;
3018:
3019: if (lc_proc_level >= lc_debug_level) then
3020: FND_LOG.STRING(lc_proc_level, lc_mod_name,
3021: 'Calling procedure CSD_GEN_ERRMSGS_PVT.save_fnd_msgs');
3022: end if;
3023:
3024: CSD_GEN_ERRMSGS_PVT.save_fnd_msgs(
3034: x_msg_count => x_msg_count,
3035: x_msg_data => x_msg_data );
3036:
3037: if (lc_proc_level >= lc_debug_level) then
3038: FND_LOG.STRING(lc_proc_level, lc_mod_name,
3039: 'Returned from procedure CSD_GEN_ERRMSGS_PVT.save_fnd_msgs');
3040: end if;
3041:
3042: -- If we are unable to log messages then we
3042: -- If we are unable to log messages then we
3043: -- throw an error.
3044: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3045: if (lc_proc_level >= lc_debug_level) then
3046: FND_LOG.STRING(lc_proc_level, lc_mod_name,
3047: 'Unable to save messages using the generic logging utility.');
3048: end if;
3049: FND_MESSAGE.SET_NAME( 'CSD', 'CSD_GENERIC_SAVE_FAILED');
3050: -- Unable to save messages using the generic logging utility.
3058: END IF;
3059:
3060: -- logging
3061: if (lc_proc_level >= lc_debug_level) then
3062: FND_LOG.STRING(lc_proc_level, lc_mod_name || '.END',
3063: 'Leaving CSD_REPAIR_ACTUAL_PROCESS_PVT.import_actuals_from_estimate');
3064: end if;
3065:
3066: EXCEPTION
3073: p_data => x_msg_data );
3074:
3075: -- save message in debug log
3076: IF (lc_excep_level >= lc_debug_level) THEN
3077: FND_LOG.STRING(lc_excep_level, lc_mod_name,
3078: 'EXC_ERROR['||x_msg_data||']');
3079: END IF;
3080: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3081: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3084: ( p_count => x_msg_count,
3085: p_data => x_msg_data );
3086: -- save message in debug log
3087: IF (lc_excep_level >= lc_debug_level) THEN
3088: FND_LOG.STRING(lc_excep_level, lc_mod_name,
3089: 'EXC_UNEXPECTED_ERROR['||x_msg_data||']');
3090: END IF;
3091:
3092: WHEN OTHERS THEN
3109: p_data => x_msg_data );
3110: -- save message in debug log
3111: IF (lc_excep_level >= lc_debug_level) THEN
3112: -- create a seeded message
3113: FND_LOG.STRING(lc_excep_level, lc_mod_name,
3114: 'WHEN OTEHRS THEN. SQL Message['||sqlerrm||']' );
3115: END IF;
3116:
3117: END Import_Actuals_From_Estimate;