The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE contract_status_updater(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2,
p_status IN VARCHAR2,
x_msg_data OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_return_status OUT NOCOPY VARCHAR2)
IS
l_api_version NUMBER;
SELECT
contract_id, contract_version_num,
contract_number,
contract_name
FROM okc_rep_contracts_all
WHERE termination_date is not null
AND contract_status_code = G_REP_CON_STATUS_SIGNED
AND trunc(termination_date) <= TRUNC(SYSDATE);
SELECT
contract_id, contract_version_num,
contract_number,
contract_name
FROM okc_rep_contract_vers v
WHERE termination_date IS NOT NULL
AND contract_status_code = G_REP_CON_STATUS_SIGNED
AND trunc(termination_date) <= trunc(SYSDATE);
TYPE selected_contracts_tbl IS TABLE OF contracts_cur%ROWTYPE;
TYPE selected_vers_contracts_tbl IS TABLE OF contract_vers_cur%ROWTYPE;
selected_contracts selected_contracts_tbl;
selected_vers_contracts selected_vers_contracts_tbl;
selected_contract_ids NumList;
selected_vers_contract_ids NumList;
selected_vers_contract_ver VersionNumList;
FND_FILE.PUT_LINE(FND_FILE.LOG, '***** BEGIN contract_status_updater *****');
l_api_name := 'contract_status_updater';
FETCH contracts_cur BULK COLLECT INTO selected_contracts
LIMIT l_batch_size;
EXIT WHEN selected_contracts.COUNT = 0;
FOR i IN 1..NVL(selected_contracts.LAST, -1) LOOP
l_count := l_count + 1;
FND_FILE.PUT_LINE(FND_FILE.OUTPUT, OKC_TERMS_UTIL_PVT.get_message(G_APP_NAME, 'OKC_REP_ATTR_CON_NAME') || ' : '|| selected_contracts(i).contract_name);
FND_FILE.PUT_LINE(FND_FILE.LOG, OKC_TERMS_UTIL_PVT.get_message(G_APP_NAME, 'OKC_REP_ATTR_CON_NAME') || ' : '|| selected_contracts(i).contract_name);
FND_FILE.PUT_LINE(FND_FILE.OUTPUT, OKC_TERMS_UTIL_PVT.get_message(G_APP_NAME, 'OKC_REP_SW_ATTR_CON_NUMBER') || ' : '|| selected_contracts(i).contract_number);
FND_FILE.PUT_LINE(FND_FILE.LOG, OKC_TERMS_UTIL_PVT.get_message(G_APP_NAME, 'OKC_REP_SW_ATTR_CON_NUMBER') || ' : '|| selected_contracts(i).contract_number);
FND_FILE.PUT_LINE(FND_FILE.OUTPUT, OKC_TERMS_UTIL_PVT.get_message(G_APP_NAME, 'OKC_REP_SW_ATTR_CON_VER_NUM') || ' : '|| selected_contracts(i).contract_version_num);
FND_FILE.PUT_LINE(FND_FILE.LOG, OKC_TERMS_UTIL_PVT.get_message(G_APP_NAME, 'OKC_REP_SW_ATTR_CON_VER_NUM') || ' : '|| selected_contracts(i).contract_version_num);
selected_contract_ids(i) := selected_contracts(i).contract_id;
FORALL j IN NVL(selected_contract_ids.FIRST,0)..NVL(selected_contract_ids.LAST,-1)
UPDATE okc_rep_contracts_all
SET contract_status_code = p_status,
last_update_date = sysdate,
last_updated_by = Fnd_Global.User_Id,
last_update_login = Fnd_Global.Login_Id
WHERE contract_id = selected_contract_ids(j);
FETCH contract_vers_cur BULK COLLECT INTO selected_vers_contracts
LIMIT l_batch_size;
EXIT WHEN selected_vers_contracts.COUNT = 0;
FOR i IN 1..NVL(selected_vers_contracts.LAST, -1) LOOP
l_count := l_count + 1;
FND_FILE.PUT_LINE(FND_FILE.OUTPUT, OKC_TERMS_UTIL_PVT.get_message(G_APP_NAME, 'OKC_REP_ATTR_CON_NAME') || ' : '|| selected_vers_contracts(i).contract_name);
FND_FILE.PUT_LINE(FND_FILE.LOG, OKC_TERMS_UTIL_PVT.get_message(G_APP_NAME, 'OKC_REP_ATTR_CON_NAME') || ' : '|| selected_vers_contracts(i).contract_name);
FND_FILE.PUT_LINE(FND_FILE.OUTPUT, OKC_TERMS_UTIL_PVT.get_message(G_APP_NAME, 'OKC_REP_SW_ATTR_CON_NUMBER') || ' : '|| selected_vers_contracts(i).contract_number);
FND_FILE.PUT_LINE(FND_FILE.LOG, OKC_TERMS_UTIL_PVT.get_message(G_APP_NAME, 'OKC_REP_SW_ATTR_CON_NUMBER') || ' : '|| selected_vers_contracts(i).contract_number);
FND_FILE.PUT_LINE(FND_FILE.OUTPUT, OKC_TERMS_UTIL_PVT.get_message(G_APP_NAME, 'OKC_REP_SW_ATTR_CON_VER_NUM') || ' : '|| selected_vers_contracts(i).contract_version_num);
FND_FILE.PUT_LINE(FND_FILE.LOG, OKC_TERMS_UTIL_PVT.get_message(G_APP_NAME, 'OKC_REP_SW_ATTR_CON_VER_NUM') || ' : '|| selected_vers_contracts(i).contract_version_num);
selected_vers_contract_ids(i) := selected_vers_contracts(i).contract_id;
selected_vers_contract_ver(i) := selected_vers_contracts(i).contract_version_num;
FORALL j IN NVL(selected_vers_contract_ids.FIRST,0)..NVL(selected_vers_contract_ids.LAST,-1)
UPDATE okc_rep_contract_vers
SET contract_status_code = p_status,
last_update_date = sysdate,
last_updated_by = Fnd_Global.User_Id,
last_update_login = Fnd_Global.Login_Id
WHERE contract_id = selected_vers_contract_ids(j)
AND contract_version_num = selected_vers_contract_ver(j);
END contract_status_updater;
PROCEDURE contract_status_update_manager(
p_status IN VARCHAR2,
errbuf OUT NOCOPY VARCHAR2,
retcode OUT NOCOPY VARCHAR2)
IS
l_api_version NUMBER;
FND_FILE.PUT_LINE(FND_FILE.LOG, '***** BEGIN contract_status_update_manager *****');
l_api_name := 'contract_status_update_manager';
contract_status_updater(
p_api_version => l_api_version,
p_init_msg_list => l_init_msg_list,
p_status => l_status,
x_msg_data => l_msg_data,
x_msg_count => l_msg_count,
x_return_status => l_return_status
);
FND_FILE.PUT_LINE(FND_FILE.LOG, '***** END contract_status_update_manager() *****');
END contract_status_update_manager;