71: fnd_file.put_line(fnd_file.output, 'MASS REBOOK Process Failed, None of the transactions got processed');
72: END IF;
73:
74: IF l_total_count = 0 THEN
75: fnd_file.put_line(fnd_file.log, 'There were no Residual Value Writedown transactions to process.');
76: fnd_file.put_line(fnd_file.output,'There were no Residual Value Writedown transactions to process.');
77: ELSE
78:
79: fnd_file.put_line(fnd_file.log, 'Total Transactions : '||l_total_count);
72: END IF;
73:
74: IF l_total_count = 0 THEN
75: fnd_file.put_line(fnd_file.log, 'There were no Residual Value Writedown transactions to process.');
76: fnd_file.put_line(fnd_file.output,'There were no Residual Value Writedown transactions to process.');
77: ELSE
78:
79: fnd_file.put_line(fnd_file.log, 'Total Transactions : '||l_total_count);
80: fnd_file.put_line(fnd_file.log, 'Transactions Processed Successfully : '||l_processed_count);
106:
107: -- Start of comments
108: --
109: -- Procedure Name : process_transactions
110: -- Description : This procedure is used to process Residual Value Writedown Transactions
111: -- Business Rules :
112: -- Parameters : p_khr_id - contract id
113: -- p_kle_id - line id
114: -- x_total_count - Total number of transactions
157: l_transaction_status VARCHAR2(1);
158: l_process_count NUMBER;
159: l_count NUMBER;
160:
161: -- This cursor is used to get all active Residual Value Writedown transactions from OKL tables
162: CURSOR l_assettrx_csr(p_sysdate DATE) IS
163: SELECT h.id, h.tas_type, date_trans_occurred, depreciate_yn, dnz_asset_id, corporate_book, in_service_date,
164: deprn_method,life_in_months, nvl(depreciation_cost,0) depreciation_cost , asset_number, old_residual_value,
165: new_residual_value, kle_id, dnz_khr_id, contract_number, sts_code
160:
161: -- This cursor is used to get all active Residual Value Writedown transactions from OKL tables
162: CURSOR l_assettrx_csr(p_sysdate DATE) IS
163: SELECT h.id, h.tas_type, date_trans_occurred, depreciate_yn, dnz_asset_id, corporate_book, in_service_date,
164: deprn_method,life_in_months, nvl(depreciation_cost,0) depreciation_cost , asset_number, old_residual_value,
165: new_residual_value, kle_id, dnz_khr_id, contract_number, sts_code
166: FROM OKL_TRX_ASSETS h, okl_txl_assets_v l, okc_k_headers_b khr
167: WHERE h.id = l.tas_id
168: AND h.tsu_code NOT IN ('PROCESSED')
161: -- This cursor is used to get all active Residual Value Writedown transactions from OKL tables
162: CURSOR l_assettrx_csr(p_sysdate DATE) IS
163: SELECT h.id, h.tas_type, date_trans_occurred, depreciate_yn, dnz_asset_id, corporate_book, in_service_date,
164: deprn_method,life_in_months, nvl(depreciation_cost,0) depreciation_cost , asset_number, old_residual_value,
165: new_residual_value, kle_id, dnz_khr_id, contract_number, sts_code
166: FROM OKL_TRX_ASSETS h, okl_txl_assets_v l, okc_k_headers_b khr
167: WHERE h.id = l.tas_id
168: AND h.tsu_code NOT IN ('PROCESSED')
169: AND h.tas_type = 'ARC'
214: END IF;
215:
216:
217:
218: SELECT SYSDATE INTO l_sysdate FROM DUAL;
219:
220:
221: l_total_count := 0;
222: l_process_count := 0;
229:
230:
231:
232: IF l_assettrx_rec.dnz_khr_id IS NULL OR l_assettrx_rec.dnz_khr_id = OKL_API.G_MISS_NUM THEN
233: -- Residual Value Writedown transaction could not be processed for asset ASSET_NUMBER because the Contract Id is missing.
234: OKC_API.set_message( p_app_name => 'OKL',
235: p_msg_name => 'OKL_AM_KHR_REQUIRED',
236: p_token1 => 'ASSET_NUMBER',
237: p_token1_value => l_assettrx_rec.asset_number);
237: p_token1_value => l_assettrx_rec.asset_number);
238: l_transaction_status := OKC_API.G_RET_STS_ERROR;
239:
240: ELSIF l_assettrx_rec.sts_code <> 'BOOKED' THEN
241: -- Residual Value Writedown transaction could not be processed for asset ASSET_NUMBER because the Contract is not booked
242: OKC_API.set_message( p_app_name => 'OKL',
243: p_msg_name => 'OKL_AM_KHR_NOT_BOOKED',
244: p_token1 => 'ASSET_NUMBER',
245: p_token1_value => l_assettrx_rec.asset_number,
254: FETCH l_quotes_csr INTO l_count;
255: CLOSE l_quotes_csr;
256:
257: IF l_count > 0 THEN
258: --Can not process Residual Value Writedown transaction for asset ASSET_NUMBER as an accepted termination quote exists for the contract CONTRACT_NUMBER.
259: OKL_API.set_message( p_app_name => 'OKL',
260: p_msg_name => 'OKL_AM_RVW_NOT_PROCESSED',
261: p_token1 => 'ASSET_NUMBER',
262: p_token1_value => l_assettrx_rec.asset_number,
267:
268:
269: ELSE
270:
271: IF l_assettrx_rec.new_residual_value IS NULL OR l_assettrx_rec.new_residual_value = OKL_API.G_MISS_NUM THEN
272: --Residual Value Writedown transaction could not be processed for asset ASSET_NUMBER because the new residual value is missing.
273: OKC_API.set_message( p_app_name => 'OKL',
274: p_msg_name => 'OKL_AM_RV_REQUIRED',
275: p_token1 => 'ASSET_NUMBER',
268:
269: ELSE
270:
271: IF l_assettrx_rec.new_residual_value IS NULL OR l_assettrx_rec.new_residual_value = OKL_API.G_MISS_NUM THEN
272: --Residual Value Writedown transaction could not be processed for asset ASSET_NUMBER because the new residual value is missing.
273: OKC_API.set_message( p_app_name => 'OKL',
274: p_msg_name => 'OKL_AM_RV_REQUIRED',
275: p_token1 => 'ASSET_NUMBER',
276: p_token1_value => l_assettrx_rec.asset_number);
292: p_in_service_date => NULL,
293: p_life_in_months => NULL,
294: p_basic_rate => NULL,
295: p_adjusted_rate => NULL,
296: p_residual_value => l_assettrx_rec.new_residual_value,
297: p_strm_lalevl_tbl => l_strm_lalevl_empty_tbl);
298:
299:
300: IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
297: p_strm_lalevl_tbl => l_strm_lalevl_empty_tbl);
298:
299:
300: IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
301: -- Residual Value Writedown transaction could not be processed for asset ASSET_NUMBER.
302: OKC_API.set_message( p_app_name => 'OKL',
303: p_msg_name => 'OKL_AM_RVP_TRANS_FAILED',
304: p_token1 => 'ASSET_NUMBER',
305: p_token1_value => l_assettrx_rec.asset_number);
326: p_token2 => 'ASSET_NUMBER',
327: p_token2_value => l_assettrx_rec.asset_number);
328: ELSE
329: l_process_count := l_process_count + 1;
330: -- Residual Value Writedown transaction processed successfully for asset ASSET_NUMBER.
331: OKC_API.set_message(
332: p_app_name => 'OKL',
333: p_msg_name => 'OKL_AM_RVW_PROCESSED',
334: p_token1 => 'ASSET_NUMBER',
333: p_msg_name => 'OKL_AM_RVW_PROCESSED',
334: p_token1 => 'ASSET_NUMBER',
335: p_token1_value => l_assettrx_rec.asset_number);
336:
337: -- Old Residual Value :
338: OKC_API.set_message(
339: p_app_name => 'OKL',
340: p_msg_name => 'OKL_AM_OLD_RESIDUAL_VALUE',
341: p_token1 => 'OLD_RV',
336:
337: -- Old Residual Value :
338: OKC_API.set_message(
339: p_app_name => 'OKL',
340: p_msg_name => 'OKL_AM_OLD_RESIDUAL_VALUE',
341: p_token1 => 'OLD_RV',
342: p_token1_value => l_assettrx_rec.old_residual_value);
343:
344: -- New Residual Value :
338: OKC_API.set_message(
339: p_app_name => 'OKL',
340: p_msg_name => 'OKL_AM_OLD_RESIDUAL_VALUE',
341: p_token1 => 'OLD_RV',
342: p_token1_value => l_assettrx_rec.old_residual_value);
343:
344: -- New Residual Value :
345: OKC_API.set_message(
346: p_app_name => 'OKL',
340: p_msg_name => 'OKL_AM_OLD_RESIDUAL_VALUE',
341: p_token1 => 'OLD_RV',
342: p_token1_value => l_assettrx_rec.old_residual_value);
343:
344: -- New Residual Value :
345: OKC_API.set_message(
346: p_app_name => 'OKL',
347: p_msg_name => 'OKL_AM_NEW_RESIDUAL_VALUE',
348: p_token1 => 'NEW_RV',
343:
344: -- New Residual Value :
345: OKC_API.set_message(
346: p_app_name => 'OKL',
347: p_msg_name => 'OKL_AM_NEW_RESIDUAL_VALUE',
348: p_token1 => 'NEW_RV',
349: p_token1_value => l_assettrx_rec.new_residual_value);
350: END IF;
351: END IF;
345: OKC_API.set_message(
346: p_app_name => 'OKL',
347: p_msg_name => 'OKL_AM_NEW_RESIDUAL_VALUE',
348: p_token1 => 'NEW_RV',
349: p_token1_value => l_assettrx_rec.new_residual_value);
350: END IF;
351: END IF;
352: END IF;
353: END IF;